|
GDB (xrefs)
|
#include "defs.h"#include "frame.h"#include "frame-unwind.h"#include "gdbcore.h"#include "osabi.h"#include "regcache.h"#include "regset.h"#include "symtab.h"#include "objfiles.h"#include "trad-frame.h"#include "gdb_assert.h"#include "obsd-tdep.h"#include "sparc64-tdep.h"#include "solib-svr4.h"#include "bsd-uthread.h"Go to the source code of this file.
| #define SPARC64OBSD_UTHREAD_FP_OFFSET 232 |
Definition at line 291 of file sparc64obsd-tdep.c.
Referenced by sparc64obsd_collect_uthread(), and sparc64obsd_supply_uthread().
| #define SPARC64OBSD_UTHREAD_PC_OFFSET 240 |
Definition at line 292 of file sparc64obsd-tdep.c.
Referenced by sparc64obsd_collect_uthread(), and sparc64obsd_supply_uthread().
| void _initialize_sparc64obsd_tdep | ( | void | ) |
Definition at line 407 of file sparc64obsd-tdep.c.
References GDB_OSABI_OPENBSD_ELF, gdbarch_register_osabi(), and sparc64obsd_init_abi().
| static void sparc64obsd_collect_uthread | ( | const struct regcache * | regcache, |
| int | regnum, | ||
| CORE_ADDR | addr | ||
| ) | [static] |
Definition at line 340 of file sparc64obsd-tdep.c.
References gdbarch::byte_order, extract_unsigned_integer(), gdb_assert, gdbarch_byte_order(), get_regcache_arch(), regcache_raw_collect(), sp, SPARC64_PC_REGNUM, SPARC64OBSD_UTHREAD_FP_OFFSET, SPARC64OBSD_UTHREAD_PC_OFFSET, sparc_collect_rwindow(), SPARC_SP_REGNUM, write_memory(), and write_memory_unsigned_integer().
Referenced by sparc64obsd_init_abi().
| static struct sparc_frame_cache* sparc64obsd_frame_cache | ( | struct frame_info * | this_frame, |
| void ** | this_cache | ||
| ) | [static, read] |
Definition at line 124 of file sparc64obsd-tdep.c.
References sparc_frame_cache::base, BIAS, gdb_assert, get_frame_pc(), get_frame_register_unsigned(), sparc_frame_cache::pc, sparc_frame_cache::saved_regs, sparc64nbsd_sigcontext_saved_regs(), sparc64obsd_page_size, SPARC_FP_REGNUM, sparc_frame_cache(), and sparc_record_save_insn().
Referenced by sparc64obsd_frame_prev_register(), and sparc64obsd_frame_this_id().
| static struct value* sparc64obsd_frame_prev_register | ( | struct frame_info * | this_frame, |
| void ** | this_cache, | ||
| int | regnum | ||
| ) | [static, read] |
Definition at line 170 of file sparc64obsd-tdep.c.
References sparc_frame_cache::saved_regs, sparc64obsd_frame_cache(), and trad_frame_get_prev_register().
| static void sparc64obsd_frame_this_id | ( | struct frame_info * | this_frame, |
| void ** | this_cache, | ||
| struct frame_id * | this_id | ||
| ) | [static] |
Definition at line 160 of file sparc64obsd-tdep.c.
References sparc_frame_cache::base, frame_id_build(), sparc_frame_cache::pc, and sparc64obsd_frame_cache().
| static void sparc64obsd_init_abi | ( | struct gdbarch_info | info, |
| struct gdbarch * | gdbarch | ||
| ) | [static] |
Definition at line 377 of file sparc64obsd-tdep.c.
References bsd_uthread_set_collect_uthread(), bsd_uthread_set_supply_uthread(), frame_unwind_append_unwinder(), gdbarch_tdep(), gdbarch_tdep::gregset, obsd_skip_solib_resolver(), regset_alloc(), set_gdbarch_skip_solib_resolver(), set_solib_svr4_fetch_link_map_offsets(), gdbarch_tdep::sizeof_gregset, sparc64_init_abi(), sparc64obsd_collect_uthread(), sparc64obsd_supply_gregset(), sparc64obsd_supply_uthread(), sparcnbsd_step_trap(), gdbarch_tdep::step_trap, and svr4_lp64_fetch_link_map_offsets().
Referenced by _initialize_sparc64obsd_tdep().
| static int sparc64obsd_pc_in_sigtramp | ( | CORE_ADDR | pc, |
| const char * | name | ||
| ) | [static] |
Definition at line 96 of file sparc64obsd-tdep.c.
References offset, sparc64obsd_page_size, sparc64obsd_sigreturn_offset, and sparc_fetch_instruction().
Referenced by sparc64obsd_sigtramp_frame_sniffer().
| static int sparc64obsd_sigtramp_frame_sniffer | ( | const struct frame_unwind * | self, |
| struct frame_info * | this_frame, | ||
| void ** | this_cache | ||
| ) | [static] |
Definition at line 180 of file sparc64obsd-tdep.c.
References find_pc_partial_function(), get_frame_pc(), name, sparc_frame_cache::pc, and sparc64obsd_pc_in_sigtramp().
| static void sparc64obsd_supply_gregset | ( | const struct regset * | regset, |
| struct regcache * | regcache, | ||
| int | regnum, | ||
| const void * | gregs, | ||
| size_t | len | ||
| ) | [static] |
Definition at line 60 of file sparc64obsd-tdep.c.
References sparc64_bsd_fpregset, sparc64_supply_fpregset(), and sparc64_supply_gregset().
Referenced by sparc64obsd_init_abi().
| static void sparc64obsd_supply_uthread | ( | struct regcache * | regcache, |
| int | regnum, | ||
| CORE_ADDR | addr | ||
| ) | [static] |
Definition at line 295 of file sparc64obsd-tdep.c.
References gdbarch::byte_order, gdb_assert, gdbarch_byte_order(), get_regcache_arch(), read_memory_unsigned_integer(), regcache_raw_supply(), SPARC64_NPC_REGNUM, SPARC64_PC_REGNUM, SPARC64OBSD_UTHREAD_FP_OFFSET, SPARC64OBSD_UTHREAD_PC_OFFSET, SPARC_SP_REGNUM, sparc_supply_rwindow(), and store_unsigned_integer().
Referenced by sparc64obsd_init_abi().
| static struct sparc_frame_cache* sparc64obsd_trapframe_cache | ( | struct frame_info * | this_frame, |
| void ** | this_cache | ||
| ) | [static, read] |
Definition at line 207 of file sparc64obsd-tdep.c.
References trad_frame_saved_reg::addr, BIAS, gdb_assert, get_frame_register_unsigned(), regnum, sparc_frame_cache::saved_regs, sp, SPARC64_NPC_REGNUM, SPARC64_PC_REGNUM, SPARC64_STATE_REGNUM, sparc_frame_cache(), SPARC_G0_REGNUM, SPARC_I7_REGNUM, SPARC_SP_REGNUM, and trad_frame_alloc_saved_regs().
Referenced by sparc64obsd_trapframe_prev_register(), and sparc64obsd_trapframe_this_id().
| static struct value* sparc64obsd_trapframe_prev_register | ( | struct frame_info * | this_frame, |
| void ** | this_cache, | ||
| int | regnum | ||
| ) | [static, read] |
Definition at line 246 of file sparc64obsd-tdep.c.
References sparc_frame_cache::saved_regs, sparc64obsd_trapframe_cache(), and trad_frame_get_prev_register().
| static int sparc64obsd_trapframe_sniffer | ( | const struct frame_unwind * | self, |
| struct frame_info * | this_frame, | ||
| void ** | this_cache | ||
| ) | [static] |
Definition at line 256 of file sparc64obsd-tdep.c.
References find_pc_partial_function(), get_frame_address_in_block(), get_frame_register_unsigned(), name, sparc_frame_cache::pc, SPARC64_PSTATE_PRIV, SPARC64_PSTATE_REGNUM, and ULONGEST.
| static void sparc64obsd_trapframe_this_id | ( | struct frame_info * | this_frame, |
| void ** | this_cache, | ||
| struct frame_id * | this_id | ||
| ) | [static] |
Definition at line 236 of file sparc64obsd-tdep.c.
References sparc_frame_cache::base, frame_id_build(), sparc_frame_cache::pc, and sparc64obsd_trapframe_cache().
{
0 * 8,
1 * 8,
2 * 8,
3 * 8,
-1,
-1,
7 * 8,
22 * 8,
4
}
Definition at line 46 of file sparc64obsd-tdep.c.
struct frame_unwind sparc64obsd_frame_unwind [static] |
{
SIGTRAMP_FRAME,
default_frame_unwind_stop_reason,
sparc64obsd_frame_this_id,
sparc64obsd_frame_prev_register,
NULL,
sparc64obsd_sigtramp_frame_sniffer
}
Definition at line 194 of file sparc64obsd-tdep.c.
const int sparc64obsd_page_size = 8192 [static] |
Definition at line 85 of file sparc64obsd-tdep.c.
Referenced by sparc64obsd_frame_cache(), and sparc64obsd_pc_in_sigtramp().
const int sparc64obsd_sigreturn_offset[] [static] |
{
0xf0,
0xec,
0xe8,
-1
}
Definition at line 88 of file sparc64obsd-tdep.c.
Referenced by sparc64obsd_pc_in_sigtramp().
struct frame_unwind sparc64obsd_trapframe_unwind [static] |
{
NORMAL_FRAME,
default_frame_unwind_stop_reason,
sparc64obsd_trapframe_this_id,
sparc64obsd_trapframe_prev_register,
NULL,
sparc64obsd_trapframe_sniffer
}
Definition at line 277 of file sparc64obsd-tdep.c.
1.7.6.1