GDB (xrefs)
|
#include "defs.h"
#include "gdbcore.h"
#include "regcache.h"
#include "mn10300-tdep.h"
#include "bfd.h"
#include "elf-bfd.h"
#include "osabi.h"
#include "regset.h"
#include "solib-svr4.h"
#include "frame.h"
#include "trad-frame.h"
#include "tramp-frame.h"
#include "linux-tdep.h"
#include "gdbarch.h"
Go to the source code of this file.
Classes | |
struct | mn10300_elf_fpregset_t |
Typedefs | |
typedef gdb_byte | mn10300_elf_greg_t[4] |
typedef mn10300_elf_greg_t | mn10300_elf_gregset_t[MN10300_ELF_NGREG] |
typedef gdb_byte | mn10300_elf_fpreg_t[4] |
Functions | |
static void | am33_supply_gregset_method (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len) |
static void | am33_supply_fpregset_method (const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len) |
static void | am33_collect_gregset_method (const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len) |
static void | am33_collect_fpregset_method (const struct regset *regset, const struct regcache *regcache, int regnum, void *fpregs, size_t len) |
static void | am33_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache) |
static void | am33_linux_sigframe_cache_init (const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) |
static void | am33_linux_init_osabi (struct gdbarch_info info, struct gdbarch *gdbarch) |
void | _initialize_mn10300_linux_tdep () |
Variables | |
static const struct regset | am33_gregset |
static const struct regset | am33_fpregset |
static const struct tramp_frame | am33_linux_sigframe |
static const struct tramp_frame | am33_linux_rt_sigframe |
#define AM33_SIGCONTEXT_A0 16 |
Definition at line 583 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_A1 20 |
Definition at line 584 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_A2 24 |
Definition at line 585 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_A3 28 |
Definition at line 586 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_D0 0 |
Definition at line 579 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_D1 4 |
Definition at line 580 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_D2 8 |
Definition at line 581 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_D3 12 |
Definition at line 582 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_E0 32 |
Definition at line 587 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_E1 36 |
Definition at line 588 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_E2 40 |
Definition at line 589 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_E3 44 |
Definition at line 590 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_E4 48 |
Definition at line 591 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_E5 52 |
Definition at line 592 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_E6 56 |
Definition at line 593 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_E7 60 |
Definition at line 594 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_EPSW 96 |
Definition at line 603 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_FPUCONTEXT 104 |
Definition at line 605 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_LAR 64 |
Definition at line 595 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_LIR 68 |
Definition at line 596 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_MCRH 84 |
Definition at line 600 of file mn10300-linux-tdep.c.
#define AM33_SIGCONTEXT_MCRL 80 |
Definition at line 599 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_MCVF 76 |
Definition at line 598 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_MDR 72 |
Definition at line 597 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_MDRQ 88 |
Definition at line 601 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_PC 100 |
Definition at line 604 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define AM33_SIGCONTEXT_SP 92 |
Definition at line 602 of file mn10300-linux-tdep.c.
Referenced by am33_linux_sigframe_cache_init().
#define MN10300_ELF_GREGSET_T_REG_INDEX_A0 21 |
Definition at line 71 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_A1 20 |
Definition at line 70 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_A2 1 |
Definition at line 51 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_A3 0 |
Definition at line 50 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_D0 23 |
Definition at line 73 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_D1 22 |
Definition at line 72 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_D2 3 |
Definition at line 53 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_D3 2 |
Definition at line 52 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_E0 9 |
Definition at line 59 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_E1 8 |
Definition at line 58 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_E2 15 |
Definition at line 65 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_E3 14 |
Definition at line 64 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_E4 13 |
Definition at line 63 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_E5 12 |
Definition at line 62 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_E6 11 |
Definition at line 61 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_E7 10 |
Definition at line 60 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_EPSW 25 |
Definition at line 75 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_LAR 17 |
Definition at line 67 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_LIR 18 |
Definition at line 68 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_MCRH 6 |
Definition at line 56 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_MCRL 5 |
Definition at line 55 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_MCVF 4 |
Definition at line 54 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_MDR 19 |
Definition at line 69 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_MDRQ 7 |
Definition at line 57 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_ORIG_D0 24 |
Definition at line 74 of file mn10300-linux-tdep.c.
#define MN10300_ELF_GREGSET_T_REG_INDEX_PC 26 |
Definition at line 76 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_GREGSET_T_REG_INDEX_SP 16 |
Definition at line 66 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
#define MN10300_ELF_NFPREG 32 |
Definition at line 37 of file mn10300-linux-tdep.c.
Referenced by am33_collect_fpregset_method(), and am33_supply_fpregset_method().
#define MN10300_ELF_NGREG 28 |
Definition at line 36 of file mn10300-linux-tdep.c.
Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().
typedef gdb_byte mn10300_elf_fpreg_t[4] |
Definition at line 42 of file mn10300-linux-tdep.c.
typedef gdb_byte mn10300_elf_greg_t[4] |
Definition at line 39 of file mn10300-linux-tdep.c.
typedef mn10300_elf_greg_t mn10300_elf_gregset_t[MN10300_ELF_NGREG] |
Definition at line 40 of file mn10300-linux-tdep.c.
void _initialize_mn10300_linux_tdep | ( | ) |
Definition at line 720 of file mn10300-linux-tdep.c.
References am33_linux_init_osabi(), GDB_OSABI_LINUX, and gdbarch_register_osabi().
|
static |
Definition at line 415 of file mn10300-linux-tdep.c.
References am33_collect_fpregset_method(), E_FPCR_REGNUM, E_FS0_REGNUM, mn10300_elf_fpregset_t::fpcr, mn10300_elf_fpregset_t::fpregs, MN10300_ELF_NFPREG, reg_buffer::raw_collect(), and regnum.
Referenced by am33_collect_fpregset_method().
|
static |
Definition at line 267 of file mn10300-linux-tdep.c.
References am33_collect_gregset_method(), E_A0_REGNUM, E_A1_REGNUM, E_A2_REGNUM, E_A3_REGNUM, E_D0_REGNUM, E_D1_REGNUM, E_D2_REGNUM, E_D3_REGNUM, E_E0_REGNUM, E_E10_REGNUM, E_E1_REGNUM, E_E2_REGNUM, E_E3_REGNUM, E_E4_REGNUM, E_E5_REGNUM, E_E6_REGNUM, E_E7_REGNUM, E_E8_REGNUM, E_E9_REGNUM, E_FPCR_REGNUM, E_LAR_REGNUM, E_LIR_REGNUM, E_MCRH_REGNUM, E_MCRL_REGNUM, E_MCVF_REGNUM, E_MDR_REGNUM, E_MDRQ_REGNUM, E_PC_REGNUM, E_PSW_REGNUM, E_SP_REGNUM, MN10300_ELF_GREGSET_T_REG_INDEX_A0, MN10300_ELF_GREGSET_T_REG_INDEX_A1, MN10300_ELF_GREGSET_T_REG_INDEX_A2, MN10300_ELF_GREGSET_T_REG_INDEX_A3, MN10300_ELF_GREGSET_T_REG_INDEX_D0, MN10300_ELF_GREGSET_T_REG_INDEX_D1, MN10300_ELF_GREGSET_T_REG_INDEX_D2, MN10300_ELF_GREGSET_T_REG_INDEX_D3, MN10300_ELF_GREGSET_T_REG_INDEX_E0, MN10300_ELF_GREGSET_T_REG_INDEX_E1, MN10300_ELF_GREGSET_T_REG_INDEX_E2, MN10300_ELF_GREGSET_T_REG_INDEX_E3, MN10300_ELF_GREGSET_T_REG_INDEX_E4, MN10300_ELF_GREGSET_T_REG_INDEX_E5, MN10300_ELF_GREGSET_T_REG_INDEX_E6, MN10300_ELF_GREGSET_T_REG_INDEX_E7, MN10300_ELF_GREGSET_T_REG_INDEX_EPSW, MN10300_ELF_GREGSET_T_REG_INDEX_LAR, MN10300_ELF_GREGSET_T_REG_INDEX_LIR, MN10300_ELF_GREGSET_T_REG_INDEX_MCRH, MN10300_ELF_GREGSET_T_REG_INDEX_MCRL, MN10300_ELF_GREGSET_T_REG_INDEX_MCVF, MN10300_ELF_GREGSET_T_REG_INDEX_MDR, MN10300_ELF_GREGSET_T_REG_INDEX_MDRQ, MN10300_ELF_GREGSET_T_REG_INDEX_PC, MN10300_ELF_GREGSET_T_REG_INDEX_SP, MN10300_ELF_NGREG, reg_buffer::raw_collect(), and regnum.
Referenced by am33_collect_gregset_method().
|
static |
Definition at line 454 of file mn10300-linux-tdep.c.
References am33_fpregset, and am33_gregset.
Referenced by am33_linux_init_osabi().
|
static |
Definition at line 705 of file mn10300-linux-tdep.c.
References am33_iterate_over_regset_sections(), am33_linux_rt_sigframe, am33_linux_sigframe, linux_ilp32_fetch_link_map_offsets(), linux_init_abi(), set_gdbarch_iterate_over_regset_sections(), set_solib_svr4_fetch_link_map_offsets(), and tramp_frame_prepend_unwinder().
Referenced by _initialize_mn10300_linux_tdep().
|
static |
Definition at line 609 of file mn10300-linux-tdep.c.
References am33_linux_sigframe, AM33_SIGCONTEXT_A0, AM33_SIGCONTEXT_A1, AM33_SIGCONTEXT_A2, AM33_SIGCONTEXT_A3, AM33_SIGCONTEXT_D0, AM33_SIGCONTEXT_D1, AM33_SIGCONTEXT_D2, AM33_SIGCONTEXT_D3, AM33_SIGCONTEXT_E0, AM33_SIGCONTEXT_E1, AM33_SIGCONTEXT_E2, AM33_SIGCONTEXT_E3, AM33_SIGCONTEXT_E4, AM33_SIGCONTEXT_E5, AM33_SIGCONTEXT_E6, AM33_SIGCONTEXT_E7, AM33_SIGCONTEXT_EPSW, AM33_SIGCONTEXT_FPUCONTEXT, AM33_SIGCONTEXT_LAR, AM33_SIGCONTEXT_LIR, AM33_SIGCONTEXT_MCRL, AM33_SIGCONTEXT_MCVF, AM33_SIGCONTEXT_MDR, AM33_SIGCONTEXT_MDRQ, AM33_SIGCONTEXT_PC, AM33_SIGCONTEXT_SP, E_A0_REGNUM, E_A1_REGNUM, E_A2_REGNUM, E_A3_REGNUM, E_D0_REGNUM, E_D1_REGNUM, E_D2_REGNUM, E_D3_REGNUM, E_E0_REGNUM, E_E1_REGNUM, E_E2_REGNUM, E_E3_REGNUM, E_E4_REGNUM, E_E5_REGNUM, E_E6_REGNUM, E_E7_REGNUM, E_FPCR_REGNUM, E_FS0_REGNUM, E_LAR_REGNUM, E_LIR_REGNUM, E_MCRL_REGNUM, E_MCVF_REGNUM, E_MDR_REGNUM, E_MDRQ_REGNUM, E_PC_REGNUM, E_PSW_REGNUM, E_SP_REGNUM, frame_id_build(), func, get_frame_memory_unsigned(), get_frame_register_unsigned(), trad_frame_set_id(), and trad_frame_set_reg_addr().
|
static |
Definition at line 236 of file mn10300-linux-tdep.c.
References am33_supply_fpregset_method(), E_FPCR_REGNUM, E_FS0_REGNUM, mn10300_elf_fpregset_t::fpcr, mn10300_elf_fpregset_t::fpregs, MN10300_ELF_NFPREG, reg_buffer::raw_supply(), and regnum.
Referenced by am33_supply_fpregset_method().
|
static |
Definition at line 86 of file mn10300-linux-tdep.c.
References am33_supply_gregset_method(), E_A0_REGNUM, E_A1_REGNUM, E_A2_REGNUM, E_A3_REGNUM, E_D0_REGNUM, E_D1_REGNUM, E_D2_REGNUM, E_D3_REGNUM, E_E0_REGNUM, E_E10_REGNUM, E_E1_REGNUM, E_E2_REGNUM, E_E3_REGNUM, E_E4_REGNUM, E_E5_REGNUM, E_E6_REGNUM, E_E7_REGNUM, E_E8_REGNUM, E_E9_REGNUM, E_FPCR_REGNUM, E_LAR_REGNUM, E_LIR_REGNUM, E_MCRH_REGNUM, E_MCRL_REGNUM, E_MCVF_REGNUM, E_MDR_REGNUM, E_MDRQ_REGNUM, E_PC_REGNUM, E_PSW_REGNUM, E_SP_REGNUM, MN10300_ELF_GREGSET_T_REG_INDEX_A0, MN10300_ELF_GREGSET_T_REG_INDEX_A1, MN10300_ELF_GREGSET_T_REG_INDEX_A2, MN10300_ELF_GREGSET_T_REG_INDEX_A3, MN10300_ELF_GREGSET_T_REG_INDEX_D0, MN10300_ELF_GREGSET_T_REG_INDEX_D1, MN10300_ELF_GREGSET_T_REG_INDEX_D2, MN10300_ELF_GREGSET_T_REG_INDEX_D3, MN10300_ELF_GREGSET_T_REG_INDEX_E0, MN10300_ELF_GREGSET_T_REG_INDEX_E1, MN10300_ELF_GREGSET_T_REG_INDEX_E2, MN10300_ELF_GREGSET_T_REG_INDEX_E3, MN10300_ELF_GREGSET_T_REG_INDEX_E4, MN10300_ELF_GREGSET_T_REG_INDEX_E5, MN10300_ELF_GREGSET_T_REG_INDEX_E6, MN10300_ELF_GREGSET_T_REG_INDEX_E7, MN10300_ELF_GREGSET_T_REG_INDEX_EPSW, MN10300_ELF_GREGSET_T_REG_INDEX_LAR, MN10300_ELF_GREGSET_T_REG_INDEX_LIR, MN10300_ELF_GREGSET_T_REG_INDEX_MCRH, MN10300_ELF_GREGSET_T_REG_INDEX_MCRL, MN10300_ELF_GREGSET_T_REG_INDEX_MCVF, MN10300_ELF_GREGSET_T_REG_INDEX_MDR, MN10300_ELF_GREGSET_T_REG_INDEX_MDRQ, MN10300_ELF_GREGSET_T_REG_INDEX_PC, MN10300_ELF_GREGSET_T_REG_INDEX_SP, MN10300_ELF_NGREG, reg_buffer::raw_supply(), reg_buffer::raw_supply_zeroed(), and regnum.
Referenced by am33_supply_gregset_method().
|
static |
Definition at line 446 of file mn10300-linux-tdep.c.
Referenced by am33_iterate_over_regset_sections().
|
static |
Definition at line 441 of file mn10300-linux-tdep.c.
Referenced by am33_iterate_over_regset_sections().
|
static |
Definition at line 487 of file mn10300-linux-tdep.c.
Referenced by am33_linux_init_osabi().
|
static |
Definition at line 471 of file mn10300-linux-tdep.c.
Referenced by am33_linux_init_osabi(), and am33_linux_sigframe_cache_init().