GDB (xrefs)
|
#include "defs.h"
#include "gdbcore.h"
#include "target.h"
#include "frame.h"
#include "osabi.h"
#include "regcache.h"
#include "elf-bfd.h"
#include "elf/frv.h"
#include "frv-tdep.h"
#include "trad-frame.h"
#include "frame-unwind.h"
#include "regset.h"
#include "gdb_string.h"
#include "linux-tdep.h"
Go to the source code of this file.
#define FRV_ELF_NGREG (46 + 2) |
Definition at line 348 of file frv-linux-tdep.c.
#define FRV_PT_CCCR 3 |
Definition at line 368 of file frv-linux-tdep.c.
Referenced by frv_linux_supply_gregset().
#define FRV_PT_CCR 2 |
Definition at line 367 of file frv-linux-tdep.c.
Referenced by frv_linux_supply_gregset().
#define FRV_PT_EXEC_FDPIC_LOADMAP 46 |
Definition at line 390 of file frv-linux-tdep.c.
Referenced by frv_linux_supply_gregset().
#define FRV_PT_GNER0 10 |
Definition at line 372 of file frv-linux-tdep.c.
Referenced by frv_linux_supply_gregset().
#define FRV_PT_GNER1 11 |
Definition at line 373 of file frv-linux-tdep.c.
Referenced by frv_linux_supply_gregset().
#define FRV_PT_GR | ( | j | ) | ( 14 + (j)) /* GRj for 0<=j<=63. */ |
Definition at line 378 of file frv-linux-tdep.c.
Referenced by frv_linux_supply_gregset().
#define FRV_PT_IACC0H 12 |
Definition at line 374 of file frv-linux-tdep.c.
#define FRV_PT_IACC0L 13 |
Definition at line 375 of file frv-linux-tdep.c.
#define FRV_PT_INTERP_FDPIC_LOADMAP 47 |
Definition at line 391 of file frv-linux-tdep.c.
Referenced by frv_linux_supply_gregset().
#define FRV_PT_ISR 1 |
Definition at line 366 of file frv-linux-tdep.c.
#define FRV_PT_LCR 5 |
Definition at line 370 of file frv-linux-tdep.c.
Referenced by frv_linux_supply_gregset().
#define FRV_PT_LR 4 |
Definition at line 369 of file frv-linux-tdep.c.
Referenced by frv_linux_supply_gregset().
#define FRV_PT_PC 6 |
Definition at line 371 of file frv-linux-tdep.c.
Referenced by frv_linux_supply_gregset().
#define FRV_PT_PSR 0 |
Definition at line 365 of file frv-linux-tdep.c.
Referenced by frv_linux_supply_gregset().
#define FRV_PT_TBR |
FRV_PT_GR(0) /* gr0 is always 0, so TBR is stuffed there. */
Definition at line 380 of file frv-linux-tdep.c.
Referenced by frv_linux_supply_gregset().
typedef unsigned char frv_elf_fpreg_t[4] |
Definition at line 352 of file frv-linux-tdep.c.
typedef unsigned char frv_elf_greg_t[4] |
Definition at line 349 of file frv-linux-tdep.c.
anonymous enum |
Definition at line 39 of file frv-linux-tdep.c.
void _initialize_frv_linux_tdep | ( | void | ) |
static enum gdb_osabi frv_linux_elf_osabi_sniffer | ( | bfd * | abfd | ) | [static] |
Definition at line 508 of file frv-linux-tdep.c.
References GDB_OSABI_LINUX, and GDB_OSABI_UNKNOWN.
static void frv_linux_init_abi | ( | struct gdbarch_info | info, |
struct gdbarch * | gdbarch | ||
) | [static] |
Definition at line 496 of file frv-linux-tdep.c.
References frame_unwind_append_unwinder(), frv_linux_regset_from_core_section(), linux_init_abi(), and set_gdbarch_regset_from_core_section().
static int frv_linux_pc_in_sigtramp | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | pc, | ||
const char * | name | ||
) | [static] |
Definition at line 45 of file frv-linux-tdep.c.
References extract_unsigned_integer(), frv_instr_size, gdbarch_byte_order(), LONGEST, NORMAL_SIGTRAMP, RT_SIGTRAMP, and target_read_memory().
Referenced by frv_linux_sigcontext_reg_addr(), and frv_linux_sigtramp_frame_sniffer().
static struct regset* frv_linux_regset_from_core_section | ( | struct gdbarch * | gdbarch, |
const char * | sect_name, | ||
size_t | sect_size | ||
) | [static, read] |
Definition at line 480 of file frv-linux-tdep.c.
References frv_linux_fpregset, and frv_linux_gregset.
Referenced by frv_linux_init_abi().
static LONGEST frv_linux_sigcontext_reg_addr | ( | struct frame_info * | this_frame, |
int | regno, | ||
CORE_ADDR * | sc_addr_cache_ptr | ||
) | [static] |
Definition at line 171 of file frv-linux-tdep.c.
References _, gdbarch::byte_order, cccr_regnum, ccr_regnum, extract_unsigned_integer(), first_fpr_regnum, first_gpr_regnum, frv_linux_pc_in_sigtramp(), gdbarch_byte_order(), get_frame_arch(), get_frame_pc(), get_frame_register(), iacc0h_regnum, iacc0l_regnum, internal_error(), last_fpr_regnum, last_gpr_regnum, lcr_regnum, lr_regnum, NORMAL_SIGTRAMP, pc_regnum, psr_regnum, RT_SIGTRAMP, sp, sp_regnum, target_read_memory(), and warning().
Referenced by frv_linux_sigtramp_frame_cache().
static struct trad_frame_cache* frv_linux_sigtramp_frame_cache | ( | struct frame_info * | this_frame, |
void ** | this_cache | ||
) | [static, read] |
Definition at line 261 of file frv-linux-tdep.c.
References extract_unsigned_integer(), frame_id_build(), frv_linux_sigcontext_reg_addr(), frv_num_regs, gdbarch_byte_order(), gdbarch_tdep(), get_frame_arch(), get_frame_pc(), get_frame_register(), LONGEST, regnum, sp_regnum, trad_frame_cache_zalloc(), trad_frame_set_id(), and trad_frame_set_reg_addr().
Referenced by frv_linux_sigtramp_frame_prev_register(), and frv_linux_sigtramp_frame_this_id().
static struct value* frv_linux_sigtramp_frame_prev_register | ( | struct frame_info * | this_frame, |
void ** | this_cache, | ||
int | regnum | ||
) | [static, read] |
Definition at line 311 of file frv-linux-tdep.c.
References frv_linux_sigtramp_frame_cache(), and trad_frame_get_register().
static int frv_linux_sigtramp_frame_sniffer | ( | const struct frame_unwind * | self, |
struct frame_info * | this_frame, | ||
void ** | this_cache | ||
) | [static] |
Definition at line 321 of file frv-linux-tdep.c.
References find_pc_partial_function(), frv_linux_pc_in_sigtramp(), get_frame_arch(), get_frame_pc(), and name.
static void frv_linux_sigtramp_frame_this_id | ( | struct frame_info * | this_frame, |
void ** | this_cache, | ||
struct frame_id * | this_id | ||
) | [static] |
Definition at line 301 of file frv-linux-tdep.c.
References frv_linux_sigtramp_frame_cache(), and trad_frame_get_id().
static void frv_linux_supply_fpregset | ( | const struct regset * | regset, |
struct regcache * | regcache, | ||
int | regnum, | ||
const void * | gregs, | ||
size_t | len | ||
) | [static] |
Definition at line 439 of file frv-linux-tdep.c.
References frv_elf_fpregset_t::acc, acc0_regnum, acc7_regnum, frv_elf_fpregset_t::accg, accg0123_regnum, accg4567_regnum, first_fpr_regnum, frv_elf_fpregset_t::fner, fner0_regnum, fner1_regnum, frv_elf_fpregset_t::fr, frv_elf_fpregset_t::fsr, fsr0_regnum, last_fpr_regnum, frv_elf_fpregset_t::msr, msr0_regnum, msr1_regnum, and regcache_raw_supply().
static void frv_linux_supply_gregset | ( | const struct regset * | regset, |
struct regcache * | regcache, | ||
int | regnum, | ||
const void * | gregs, | ||
size_t | len | ||
) | [static] |
Definition at line 397 of file frv-linux-tdep.c.
References cccr_regnum, ccr_regnum, fdpic_loadmap_exec_regnum, fdpic_loadmap_interp_regnum, first_gpr_regnum, FRV_PT_CCCR, FRV_PT_CCR, FRV_PT_EXEC_FDPIC_LOADMAP, FRV_PT_GNER0, FRV_PT_GNER1, FRV_PT_GR, FRV_PT_INTERP_FDPIC_LOADMAP, FRV_PT_LCR, FRV_PT_LR, FRV_PT_PC, FRV_PT_PSR, FRV_PT_TBR, gner0_regnum, gner1_regnum, last_gpr_regnum, lcr_regnum, lr_regnum, MAX_REGISTER_SIZE, memset(), pc_regnum, psr_regnum, frv_elf_gregset_t::reg, regcache_raw_supply(), and tbr_regnum.
const int frv_instr_size = 4 [static] |
Definition at line 37 of file frv-linux-tdep.c.
Referenced by frv_linux_pc_in_sigtramp().
struct regset frv_linux_fpregset [static] |
{ NULL, frv_linux_supply_fpregset }
Definition at line 473 of file frv-linux-tdep.c.
Referenced by frv_linux_regset_from_core_section().
struct regset frv_linux_gregset [static] |
{ NULL, frv_linux_supply_gregset }
Definition at line 467 of file frv-linux-tdep.c.
Referenced by frv_linux_regset_from_core_section().
struct frame_unwind frv_linux_sigtramp_frame_unwind [static] |
{ SIGTRAMP_FRAME, default_frame_unwind_stop_reason, frv_linux_sigtramp_frame_this_id, frv_linux_sigtramp_frame_prev_register, NULL, frv_linux_sigtramp_frame_sniffer }
Definition at line 336 of file frv-linux-tdep.c.