GDB (xrefs)
|
#include "defs.h"
#include "gdbcore.h"
#include "doublest.h"
#include "floatformat.h"
#include "frame.h"
#include "target.h"
#include "gdb_string.h"
#include "gdbtypes.h"
#include "osabi.h"
#include "regcache.h"
#include "objfiles.h"
#include "symtab.h"
#include "m68k-tdep.h"
#include "trad-frame.h"
#include "frame-unwind.h"
#include "glibc-tdep.h"
#include "solib-svr4.h"
#include "auxv.h"
#include "observer.h"
#include "elf/common.h"
#include "linux-tdep.h"
Go to the source code of this file.
#define IS_RT_SIGTRAMP | ( | insn1, | |
insn2 | |||
) |
(/* movel #173,d0; trap #0 */ \ (insn1 == 0x203c0000 && insn2 == 0x00ad4e40) \ /* moveq #82,d0; notb d0; trap #0 */ \ || (insn1 == 0x70524600 && (insn2 >> 16) == 0x4e40))
Definition at line 55 of file m68klinux-tdep.c.
Referenced by m68k_linux_pc_in_sigtramp().
#define IS_SIGTRAMP | ( | insn1, | |
insn2 | |||
) |
(/* addaw #20,sp; moveq #119,d0; trap #0 */ \ (insn1 == 0xdefc0014 && insn2 == 0x70774e40) \ /* moveq #119,d0; trap #0 */ \ || insn1 == 0x70774e40)
Definition at line 49 of file m68klinux-tdep.c.
Referenced by m68k_linux_pc_in_sigtramp().
#define M68K_LINUX_JB_ELEMENT_SIZE 4 |
Definition at line 44 of file m68klinux-tdep.c.
Referenced by m68k_linux_init_abi().
#define M68K_LINUX_JB_PC 7 |
Definition at line 45 of file m68klinux-tdep.c.
Referenced by m68k_linux_init_abi().
void _initialize_m68k_linux_tdep | ( | void | ) |
Definition at line 375 of file m68klinux-tdep.c.
References _initialize_m68k_linux_tdep, GDB_OSABI_LINUX, gdbarch_register_osabi(), m68k_linux_inferior_created(), m68k_linux_init_abi(), and observer_attach_inferior_created().
static struct m68k_linux_sigtramp_info m68k_linux_get_sigtramp_info | ( | struct frame_info * | this_frame | ) | [static, read] |
Definition at line 224 of file m68klinux-tdep.c.
References gdbarch::byte_order, gdbarch_byte_order(), get_frame_arch(), get_frame_register_unsigned(), linux_is_uclinux(), m68k_linux_pc_in_sigtramp(), m68k_linux_sigcontext_reg_offset, m68k_linux_ucontext_reg_offset, M68K_SP_REGNUM, m68k_uclinux_sigcontext_reg_offset, read_memory_unsigned_integer(), m68k_linux_sigtramp_info::sc_reg_offset, m68k_linux_sigtramp_info::sigcontext_addr, sp, and target_is_uclinux.
Referenced by m68k_linux_sigtramp_frame_cache().
static void m68k_linux_inferior_created | ( | struct target_ops * | objfile, |
int | from_tty | ||
) | [static] |
Definition at line 216 of file m68klinux-tdep.c.
References target_is_uclinux.
Referenced by _initialize_m68k_linux_tdep().
static void m68k_linux_init_abi | ( | struct gdbarch_info | info, |
struct gdbarch * | gdbarch | ||
) | [static] |
Definition at line 331 of file m68klinux-tdep.c.
References find_solib_trampoline_target(), frame_unwind_append_unwinder(), gdbarch_tdep(), glibc_skip_solib_resolver(), gdbarch_tdep::jb_elt_size, gdbarch_tdep::jb_pc, linux_get_siginfo_type(), linux_init_abi(), M68K_A1_REGNUM, M68K_LINUX_JB_ELEMENT_SIZE, M68K_LINUX_JB_PC, m68k_svr4_init_abi(), reg_struct_return, set_gdbarch_decr_pc_after_break(), set_gdbarch_fetch_tls_load_module_address(), set_gdbarch_get_siginfo_type(), set_gdbarch_skip_solib_resolver(), set_gdbarch_skip_trampoline_code(), set_solib_svr4_fetch_link_map_offsets(), gdbarch_tdep::struct_return, gdbarch_tdep::struct_value_regnum, svr4_fetch_objfile_link_map(), and svr4_ilp32_fetch_link_map_offsets().
Referenced by _initialize_m68k_linux_tdep().
static int m68k_linux_pc_in_sigtramp | ( | struct frame_info * | this_frame | ) | [static] |
Definition at line 66 of file m68klinux-tdep.c.
References gdbarch::byte_order, extract_unsigned_integer(), gdbarch_byte_order(), get_frame_arch(), get_frame_pc(), IS_RT_SIGTRAMP, IS_SIGTRAMP, and safe_frame_unwind_memory().
Referenced by m68k_linux_get_sigtramp_info(), and m68k_linux_sigtramp_frame_sniffer().
static struct trad_frame_cache* m68k_linux_sigtramp_frame_cache | ( | struct frame_info * | this_frame, |
void ** | this_cache | ||
) | [static, read] |
Definition at line 253 of file m68klinux-tdep.c.
References extract_unsigned_integer(), frame_id_build(), gdbarch_byte_order(), gdbarch_tdep(), get_frame_arch(), get_frame_pc(), get_frame_register(), m68k_linux_get_sigtramp_info(), M68K_NUM_REGS, M68K_SP_REGNUM, m68k_linux_sigtramp_info::sc_reg_offset, m68k_linux_sigtramp_info::sigcontext_addr, trad_frame_cache_zalloc(), trad_frame_set_id(), and trad_frame_set_reg_addr().
Referenced by m68k_linux_sigtramp_frame_prev_register(), and m68k_linux_sigtramp_frame_this_id().
static struct value* m68k_linux_sigtramp_frame_prev_register | ( | struct frame_info * | this_frame, |
void ** | this_cache, | ||
int | regnum | ||
) | [static, read] |
Definition at line 302 of file m68klinux-tdep.c.
References m68k_linux_sigtramp_frame_cache(), and trad_frame_get_register().
static int m68k_linux_sigtramp_frame_sniffer | ( | const struct frame_unwind * | self, |
struct frame_info * | this_frame, | ||
void ** | this_prologue_cache | ||
) | [static] |
Definition at line 313 of file m68klinux-tdep.c.
References m68k_linux_pc_in_sigtramp().
static void m68k_linux_sigtramp_frame_this_id | ( | struct frame_info * | this_frame, |
void ** | this_cache, | ||
struct frame_id * | this_id | ||
) | [static] |
Definition at line 292 of file m68klinux-tdep.c.
References m68k_linux_sigtramp_frame_cache(), and trad_frame_get_id().
Referenced by _initialize_m68k_linux_tdep(), and initialize_all_files().
int m68k_linux_sigcontext_reg_offset[M68K_NUM_REGS] [static] |
Definition at line 100 of file m68klinux-tdep.c.
Referenced by m68k_linux_get_sigtramp_info().
struct frame_unwind m68k_linux_sigtramp_frame_unwind [static] |
{ SIGTRAMP_FRAME, default_frame_unwind_stop_reason, m68k_linux_sigtramp_frame_this_id, m68k_linux_sigtramp_frame_prev_register, NULL, m68k_linux_sigtramp_frame_sniffer }
Definition at line 320 of file m68klinux-tdep.c.
int m68k_linux_ucontext_reg_offset[M68K_NUM_REGS] [static] |
Definition at line 167 of file m68klinux-tdep.c.
Referenced by m68k_linux_get_sigtramp_info().
Definition at line 133 of file m68klinux-tdep.c.
Referenced by m68k_linux_get_sigtramp_info().
int target_is_uclinux [static] |
Definition at line 213 of file m68klinux-tdep.c.
Referenced by m68k_linux_get_sigtramp_info(), and m68k_linux_inferior_created().