GDB (xrefs)
|
#include "defs.h"
#include "arch-utils.h"
#include "frame.h"
#include "frame-unwind.h"
#include "gdbcore.h"
#include "regcache.h"
#include "regset.h"
#include "symtab.h"
#include "objfiles.h"
#include "osabi.h"
#include "target.h"
#include "trad-frame.h"
#include "gdb_assert.h"
#include "gdb_string.h"
#include "i386-tdep.h"
#include "i387-tdep.h"
#include "solib-svr4.h"
#include "bsd-uthread.h"
Go to the source code of this file.
#define I386OBSD_UTHREAD_ESP_OFFSET 176 |
Definition at line 224 of file i386obsd-tdep.c.
Referenced by i386obsd_collect_uthread(), and i386obsd_supply_uthread().
void _initialize_i386obsd_tdep | ( | void | ) |
static void i386obsd_aout_init_abi | ( | struct gdbarch_info | info, |
struct gdbarch * | gdbarch | ||
) | [static] |
Definition at line 480 of file i386obsd-tdep.c.
References i386obsd_aout_regset_from_core_section(), i386obsd_init_abi(), and set_gdbarch_regset_from_core_section().
static struct regset* i386obsd_aout_regset_from_core_section | ( | struct gdbarch * | gdbarch, |
const char * | sect_name, | ||
size_t | sect_size | ||
) | [static, read] |
Definition at line 154 of file i386obsd-tdep.c.
References gdbarch_tdep(), gdbarch_tdep::gregset, i386obsd_aout_supply_regset(), I387_SIZEOF_FSAVE, regset_alloc(), and gdbarch_tdep::sizeof_gregset.
Referenced by i386obsd_aout_init_abi().
static void i386obsd_aout_supply_regset | ( | const struct regset * | regset, |
struct regcache * | regcache, | ||
int | regnum, | ||
const void * | regs, | ||
size_t | len | ||
) | [static] |
Definition at line 140 of file i386obsd-tdep.c.
References regset::arch, gdb_assert, gdbarch_tdep(), i386_supply_gregset(), I387_SIZEOF_FSAVE, i387_supply_fsave(), gdbarch_tdep::regs, and gdbarch_tdep::sizeof_gregset.
Referenced by i386obsd_aout_regset_from_core_section().
static void i386obsd_collect_uthread | ( | const struct regcache * | regcache, |
int | regnum, | ||
CORE_ADDR | addr | ||
) | [static] |
Definition at line 271 of file i386obsd-tdep.c.
References gdbarch::byte_order, extract_unsigned_integer(), gdb_assert, gdbarch_byte_order(), get_regcache_arch(), I386_EIP_REGNUM, I386_ESP_REGNUM, I386OBSD_UTHREAD_ESP_OFFSET, i386obsd_uthread_reg_offset, offset, read_memory_unsigned_integer(), regcache_raw_collect(), sp, write_memory(), and write_memory_unsigned_integer().
Referenced by i386obsd_init_abi().
static void i386obsd_elf_init_abi | ( | struct gdbarch_info | info, |
struct gdbarch * | gdbarch | ||
) | [static] |
Definition at line 492 of file i386obsd-tdep.c.
References gdbarch_tdep(), i386_elf_init_abi(), i386obsd_init_abi(), set_solib_svr4_fetch_link_map_offsets(), and svr4_ilp32_fetch_link_map_offsets().
static void i386obsd_init_abi | ( | struct gdbarch_info | info, |
struct gdbarch * | gdbarch | ||
) | [static] |
Definition at line 444 of file i386obsd-tdep.c.
References bsd_uthread_set_collect_uthread(), bsd_uthread_set_supply_uthread(), frame_unwind_prepend_unwinder(), gdbarch_tdep(), gdbarch_tdep::gregset_num_regs, gdbarch_tdep::gregset_reg_offset, i386bsd_init_abi(), i386obsd_collect_uthread(), i386obsd_r_reg_offset, i386obsd_sc_reg_offset, i386obsd_sigtramp_end_addr, i386obsd_sigtramp_p(), i386obsd_sigtramp_start_addr, i386obsd_supply_uthread(), reg_struct_return, gdbarch_tdep::sc_num_regs, gdbarch_tdep::sc_reg_offset, gdbarch_tdep::sigtramp_end, gdbarch_tdep::sigtramp_p, gdbarch_tdep::sigtramp_start, gdbarch_tdep::sizeof_gregset, and gdbarch_tdep::struct_return.
Referenced by i386obsd_aout_init_abi(), and i386obsd_elf_init_abi().
static int i386obsd_sigtramp_p | ( | struct frame_info * | this_frame | ) | [static] |
Definition at line 69 of file i386obsd-tdep.c.
References find_pc_partial_function(), find_pc_section(), get_frame_pc(), i386obsd_page_size, i386obsd_sigreturn_offset, memcmp(), name, offset, and safe_frame_unwind_memory().
Referenced by i386obsd_init_abi().
static void i386obsd_supply_uthread | ( | struct regcache * | regcache, |
int | regnum, | ||
CORE_ADDR | addr | ||
) | [static] |
Definition at line 227 of file i386obsd-tdep.c.
References gdbarch::byte_order, gdb_assert, gdbarch_byte_order(), get_regcache_arch(), I386_EIP_REGNUM, I386_ESP_REGNUM, I386OBSD_UTHREAD_ESP_OFFSET, i386obsd_uthread_reg_offset, offset, read_memory(), read_memory_unsigned_integer(), regcache_raw_supply(), sp, and store_unsigned_integer().
Referenced by i386obsd_init_abi().
static struct trad_frame_cache* i386obsd_trapframe_cache | ( | struct frame_info * | this_frame, |
void ** | this_cache | ||
) | [static, read] |
Definition at line 343 of file i386obsd-tdep.c.
References gdbarch::byte_order, find_pc_partial_function(), frame_id_build(), func, gdbarch_byte_order(), get_frame_arch(), get_frame_func(), get_frame_register_unsigned(), I386_CS_REGNUM, I386_ESP_REGNUM, I386_SEL_RPL, I386_SEL_UPL, i386obsd_tf_reg_offset, name, outer_frame_id, read_memory_unsigned_integer(), sp, trad_frame_cache_zalloc(), trad_frame_set_id(), trad_frame_set_reg_addr(), and ULONGEST.
Referenced by i386obsd_trapframe_prev_register(), and i386obsd_trapframe_this_id().
static struct value* i386obsd_trapframe_prev_register | ( | struct frame_info * | this_frame, |
void ** | this_cache, | ||
int | regnum | ||
) | [static, read] |
Definition at line 400 of file i386obsd-tdep.c.
References i386obsd_trapframe_cache(), and trad_frame_get_register().
static int i386obsd_trapframe_sniffer | ( | const struct frame_unwind * | self, |
struct frame_info * | this_frame, | ||
void ** | this_prologue_cache | ||
) | [static] |
Definition at line 410 of file i386obsd-tdep.c.
References find_pc_partial_function(), get_frame_pc(), get_frame_register_unsigned(), I386_CS_REGNUM, I386_SEL_RPL, I386_SEL_UPL, name, and ULONGEST.
static void i386obsd_trapframe_this_id | ( | struct frame_info * | this_frame, |
void ** | this_cache, | ||
struct frame_id * | this_id | ||
) | [static] |
Definition at line 390 of file i386obsd-tdep.c.
References i386obsd_trapframe_cache(), and trad_frame_get_id().
const int i386obsd_page_size = 4096 [static] |
Definition at line 55 of file i386obsd-tdep.c.
Referenced by i386obsd_sigtramp_p().
int i386obsd_r_reg_offset[] [static] |
{ 0 * 4, 1 * 4, 2 * 4, 3 * 4, 4 * 4, 5 * 4, 6 * 4, 7 * 4, 8 * 4, 9 * 4, 10 * 4, 11 * 4, 12 * 4, 13 * 4, 14 * 4, 15 * 4 }
Definition at line 119 of file i386obsd-tdep.c.
Referenced by i386obsd_init_abi().
{ 10 * 4, 9 * 4, 8 * 4, 7 * 4, 14 * 4, 6 * 4, 5 * 4, 4 * 4, 11 * 4, 13 * 4, 12 * 4, 15 * 4, 3 * 4, 2 * 4, 1 * 4, 0 * 4 }
Definition at line 181 of file i386obsd-tdep.c.
Referenced by i386obsd_init_abi().
const int i386obsd_sigreturn_offset[] [static] |
{ 0x0a, 0x14, 0x3a, -1 }
Definition at line 58 of file i386obsd-tdep.c.
Referenced by i386obsd_sigtramp_p().
CORE_ADDR i386obsd_sigtramp_end_addr = 0xbfbfdff0 |
Definition at line 178 of file i386obsd-tdep.c.
Referenced by _initialize_i386obsd_nat(), and i386obsd_init_abi().
CORE_ADDR i386obsd_sigtramp_start_addr = 0xbfbfdf20 |
Definition at line 177 of file i386obsd-tdep.c.
Referenced by _initialize_i386obsd_nat(), and i386obsd_init_abi().
int i386obsd_tf_reg_offset[] [static] |
{ 10 * 4, 9 * 4, 8 * 4, 7 * 4, -1, 6 * 4, 5 * 4, 4 * 4, 13 * 4, 15 * 4, 14 * 4, -1, 3 * 4, 2 * 4, 0 * 4, 1 * 4 }
Definition at line 322 of file i386obsd-tdep.c.
Referenced by i386obsd_trapframe_cache().
struct frame_unwind i386obsd_trapframe_unwind [static] |
{ NORMAL_FRAME, default_frame_unwind_stop_reason, i386obsd_trapframe_this_id, i386obsd_trapframe_prev_register, NULL, i386obsd_trapframe_sniffer }
Definition at line 430 of file i386obsd-tdep.c.
int i386obsd_uthread_reg_offset[] [static] |
{ 11 * 4, 10 * 4, 9 * 4, 8 * 4, -1, 6 * 4, 5 * 4, 4 * 4, 12 * 4, -1, 13 * 4, -1, 3 * 4, 2 * 4, 1 * 4, 0 * 4 }
Definition at line 202 of file i386obsd-tdep.c.
Referenced by i386obsd_collect_uthread(), and i386obsd_supply_uthread().