GDB (xrefs)

Macros | Functions | Variables
/tmp/gdb-8.1/gdb/sparc-obsd-tdep.c File Reference
`#include "defs.h"`
`#include "frame.h"`
`#include "frame-unwind.h"`
`#include "gdbcore.h"`
`#include "osabi.h"`
`#include "regcache.h"`
`#include "symtab.h"`
`#include "trad-frame.h"`
`#include "obsd-tdep.h"`
`#include "sparc-tdep.h"`
`#include "solib-svr4.h"`
`#include "bsd-uthread.h"`

Go to the source code of this file.

## Macros
#define | SPARC32OBSD_UTHREAD_FP_OFFSET 128
#define | SPARC32OBSD_UTHREAD_PC_OFFSET 132

## Functions
static int | sparc32obsd_pc_in_sigtramp (CORE_ADDR pc, const char *name)
static struct sparc_frame_cache * | sparc32obsd_sigtramp_frame_cache (struct frame_info *this_frame, void **this_cache)
static void | sparc32obsd_sigtramp_frame_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
static struct value * | sparc32obsd_sigtramp_frame_prev_register (struct frame_info *this_frame, void **this_cache, int regnum)
static int | sparc32obsd_sigtramp_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
static void | sparc32obsd_supply_uthread (struct regcache *regcache, int regnum, CORE_ADDR addr)
static void | sparc32obsd_collect_uthread (const struct regcache *regcache, int regnum, CORE_ADDR addr)
static void | sparc32obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
void | _initialize_sparc32obsd_tdep (void)

## Variables
static const int | sparc32obsd_page_size = 4096
static const struct frame_unwind | sparc32obsd_sigtramp_frame_unwind

## Macro Definition Documentation

## ◆ SPARC32OBSD_UTHREAD_FP_OFFSET

#define SPARC32OBSD_UTHREAD_FP_OFFSET 128

Definition at line 148 of file sparc-obsd-tdep.c.

Referenced by sparc32obsd_collect_uthread(), and sparc32obsd_supply_uthread().

## ◆ SPARC32OBSD_UTHREAD_PC_OFFSET

#define SPARC32OBSD_UTHREAD_PC_OFFSET 132

Definition at line 149 of file sparc-obsd-tdep.c.

Referenced by sparc32obsd_collect_uthread(), and sparc32obsd_supply_uthread().

## Function Documentation

## ◆ _initialize_sparc32obsd_tdep()

void _initialize_sparc32obsd_tdep | ( | void |  | ) |

Definition at line 249 of file sparc-obsd-tdep.c.

References GDB_OSABI_OPENBSD, gdbarch_register_osabi(), and sparc32obsd_init_abi().

## ◆ sparc32obsd_collect_uthread()

static void sparc32obsd_collect_uthread | ( | const struct regcache * | regcache,
|  | int | regnum,
|  | CORE_ADDR | addr
| ) |  |
| static

Definition at line 197 of file sparc-obsd-tdep.c.

References regcache::arch(), gdbarch::byte_order, extract_unsigned_integer(), gdb_assert, gdbarch_byte_order(), regcache_raw_collect(), regnum, SPARC32_PC_REGNUM, SPARC32OBSD_UTHREAD_FP_OFFSET, SPARC32OBSD_UTHREAD_PC_OFFSET, sparc_collect_rwindow(), SPARC_SP_REGNUM, write_memory(), and write_memory_unsigned_integer().

Referenced by sparc32obsd_init_abi().

## ◆ sparc32obsd_init_abi()

static void sparc32obsd_init_abi | ( | struct gdbarch_info | info,
|  | struct gdbarch * | gdbarch
| ) |  |
| static

Definition at line 234 of file sparc-obsd-tdep.c.

References bsd_uthread_set_collect_uthread(), bsd_uthread_set_supply_uthread(), frame_unwind_append_unwinder(), obsd_skip_solib_resolver(), set_gdbarch_skip_solib_resolver(), sparc32nbsd_init_abi(), sparc32obsd_collect_uthread(), sparc32obsd_sigtramp_frame_unwind, and sparc32obsd_supply_uthread().

Referenced by _initialize_sparc32obsd_tdep().

## ◆ sparc32obsd_pc_in_sigtramp()

static int sparc32obsd_pc_in_sigtramp | ( | CORE_ADDR | pc,
|  | const char * | name
| ) |  |
| static

Definition at line 47 of file sparc-obsd-tdep.c.

References name, gdbarch_tdep::pc, sparc32obsd_page_size, and sparc_fetch_instruction().

Referenced by sparc32obsd_sigtramp_frame_sniffer().

## ◆ sparc32obsd_sigtramp_frame_cache()

static struct sparc_frame_cache* sparc32obsd_sigtramp_frame_cache | ( | struct frame_info * | this_frame,
|  | void ** | this_cache
| ) |  |
| static

Definition at line 69 of file sparc-obsd-tdep.c.

References sparc_frame_cache::base, gdb_assert, get_frame_pc(), get_frame_register_unsigned(), sparc_frame_cache::pc, sparc_frame_cache::saved_regs, sparc32nbsd_sigcontext_saved_regs(), sparc32obsd_page_size, SPARC_FP_REGNUM, sparc_frame_cache(), and sparc_record_save_insn().

Referenced by sparc32obsd_sigtramp_frame_prev_register(), and sparc32obsd_sigtramp_frame_this_id().

## ◆ sparc32obsd_sigtramp_frame_prev_register()

static struct value* sparc32obsd_sigtramp_frame_prev_register | ( | struct frame_info * | this_frame,
|  | void ** | this_cache,
|  | int | regnum
| ) |  |
| static

Definition at line 112 of file sparc-obsd-tdep.c.

References regnum, sparc_frame_cache::saved_regs, sparc32obsd_sigtramp_frame_cache(), and trad_frame_get_prev_register().

## ◆ sparc32obsd_sigtramp_frame_sniffer()

static int sparc32obsd_sigtramp_frame_sniffer | ( | const struct frame_unwind * | self,
|  | struct frame_info * | this_frame,
|  | void ** | this_cache
| ) |  |
| static

Definition at line 122 of file sparc-obsd-tdep.c.

References find_pc_partial_function(), get_frame_pc(), name, sparc_frame_cache::pc, and sparc32obsd_pc_in_sigtramp().

## ◆ sparc32obsd_sigtramp_frame_this_id()

static void sparc32obsd_sigtramp_frame_this_id | ( | struct frame_info * | this_frame,
|  | void ** | this_cache,
|  | struct frame_id * | this_id
| ) |  |
| static

Definition at line 101 of file sparc-obsd-tdep.c.

References sparc_frame_cache::base, frame_id_build(), sparc_frame_cache::pc, and sparc32obsd_sigtramp_frame_cache().

## ◆ sparc32obsd_supply_uthread()

static void sparc32obsd_supply_uthread | ( | struct regcache * | regcache,
|  | int | regnum,
|  | CORE_ADDR | addr
| ) |  |
| static

Definition at line 152 of file sparc-obsd-tdep.c.

References regcache::arch(), gdbarch::byte_order, gdb_assert, gdbarch_byte_order(), read_memory_unsigned_integer(), regcache_raw_supply(), regnum, SPARC32_NPC_REGNUM, SPARC32_PC_REGNUM, SPARC32OBSD_UTHREAD_FP_OFFSET, SPARC32OBSD_UTHREAD_PC_OFFSET, SPARC_SP_REGNUM, sparc_supply_rwindow(), and store_unsigned_integer().

Referenced by sparc32obsd_init_abi().

## Variable Documentation

## ◆ sparc32obsd_page_size

const int sparc32obsd_page_size = 4096
| static

Definition at line 44 of file sparc-obsd-tdep.c.

Referenced by sparc32obsd_pc_in_sigtramp(), and sparc32obsd_sigtramp_frame_cache().

## ◆ sparc32obsd_sigtramp_frame_unwind

const struct frame_unwind sparc32obsd_sigtramp_frame_unwind
| static

Initial value:
=
{
SIGTRAMP_FRAME,
default_frame_unwind_stop_reason,
sparc32obsd_sigtramp_frame_this_id,
sparc32obsd_sigtramp_frame_prev_register,
NULL,
sparc32obsd_sigtramp_frame_sniffer
}
SIGTRAMP_FRAME
Definition: frame.h:255
sparc32obsd_sigtramp_frame_this_id
static void sparc32obsd_sigtramp_frame_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
Definition: sparc-obsd-tdep.c:101
default_frame_unwind_stop_reason
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: frame-unwind.c:184
sparc32obsd_sigtramp_frame_prev_register
static struct value * sparc32obsd_sigtramp_frame_prev_register(struct frame_info *this_frame, void **this_cache, int regnum)
Definition: sparc-obsd-tdep.c:112
sparc32obsd_sigtramp_frame_sniffer
static int sparc32obsd_sigtramp_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
Definition: sparc-obsd-tdep.c:122

Definition at line 135 of file sparc-obsd-tdep.c.

Referenced by sparc32obsd_init_abi().