GDB (xrefs)

Functions | Variables
/tmp/gdb-8.1/gdb/ppc-obsd-tdep.c File Reference
`#include "defs.h"`
`#include "arch-utils.h"`
`#include "frame.h"`
`#include "frame-unwind.h"`
`#include "gdbtypes.h"`
`#include "osabi.h"`
`#include "regcache.h"`
`#include "regset.h"`
`#include "symtab.h"`
`#include "trad-frame.h"`
`#include "ppc-tdep.h"`
`#include "ppc-obsd-tdep.h"`
`#include "solib-svr4.h"`

Go to the source code of this file.

## Functions
void | ppcobsd_supply_gregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
void | ppcobsd_collect_gregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
static void | ppcobsd_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
static int | ppcobsd_sigtramp_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
static struct trad_frame_cache * | ppcobsd_sigtramp_frame_cache (struct frame_info *this_frame, void **this_cache)
static void | ppcobsd_sigtramp_frame_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
static struct value * | ppcobsd_sigtramp_frame_prev_register (struct frame_info *this_frame, void **this_cache, int regnum)
static void | ppcobsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
void | _initialize_ppcobsd_tdep (void)

## Variables
struct ppc_reg_offsets | ppcobsd_reg_offsets
struct ppc_reg_offsets | ppcobsd_fpreg_offsets
const struct regset | ppcobsd_gregset
const struct regset | ppcobsd_fpregset
static const int | ppcobsd_page_size = 4096
static const int | ppcobsd_sigreturn_offset []
static const struct frame_unwind | ppcobsd_sigtramp_frame_unwind

## Function Documentation

## ◆ _initialize_ppcobsd_tdep()

void _initialize_ppcobsd_tdep | ( | void |  | ) |

Definition at line 265 of file ppc-obsd-tdep.c.

References ppc_reg_offsets::cr_offset, ppc_reg_offsets::ctr_offset, ppc_reg_offsets::f0_offset, ppc_reg_offsets::fpscr_offset, ppc_reg_offsets::fpscr_size, GDB_OSABI_OPENBSD, gdbarch_register_osabi(), ppc_reg_offsets::gpr_size, ppc_reg_offsets::lr_offset, ppc_reg_offsets::mq_offset, ppc_reg_offsets::pc_offset, ppcobsd_fpreg_offsets, ppcobsd_init_abi(), ppcobsd_reg_offsets, ppc_reg_offsets::ps_offset, ppc_reg_offsets::r0_offset, ppc_reg_offsets::vr0_offset, ppc_reg_offsets::vrsave_offset, ppc_reg_offsets::vscr_offset, ppc_reg_offsets::xer_offset, and ppc_reg_offsets::xr_size.

## ◆ ppcobsd_collect_gregset()

void ppcobsd_collect_gregset | ( | const struct regset * | regset,
|  | const struct regcache * | regcache,
|  | int | regnum,
|  | void * | gregs,
|  | size_t | len
| ) |  |

Definition at line 61 of file ppc-obsd-tdep.c.

References ppc_collect_fpregset(), ppc_collect_gregset(), and regnum.

## ◆ ppcobsd_init_abi()

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

Definition at line 245 of file ppc-obsd-tdep.c.

References floatformats_ieee_double, frame_unwind_append_unwinder(), ppc_sysv_abi_broken_return_value(), ppcobsd_iterate_over_regset_sections(), ppcobsd_sigtramp_frame_unwind, set_gdbarch_iterate_over_regset_sections(), set_gdbarch_long_double_bit(), set_gdbarch_long_double_format(), set_gdbarch_return_value(), set_solib_svr4_fetch_link_map_offsets(), and svr4_ilp32_fetch_link_map_offsets().

Referenced by _initialize_ppcobsd_tdep().

## ◆ ppcobsd_iterate_over_regset_sections()

static void ppcobsd_iterate_over_regset_sections | ( | struct gdbarch * | gdbarch,
|  | iterate_over_regset_sections_cb * | cb,
|  | void * | cb_data,
|  | const struct regcache * | regcache
| ) |  |
| static

Definition at line 86 of file ppc-obsd-tdep.c.

References ppcobsd_gregset.

Referenced by ppcobsd_init_abi().

## ◆ ppcobsd_sigtramp_frame_cache()

static struct trad_frame_cache* ppcobsd_sigtramp_frame_cache | ( | struct frame_info * | this_frame,
|  | void ** | this_cache
| ) |  |
| static

Definition at line 161 of file ppc-obsd-tdep.c.

References extract_unsigned_integer(), frame_id_build(), func, gdbarch_byte_order(), gdbarch_pc_regnum(), gdbarch_sp_regnum(), gdbarch_tdep(), get_frame_arch(), get_frame_pc(), get_frame_register_unsigned(), gdbarch_tdep::ppc_cr_regnum, gdbarch_tdep::ppc_ctr_regnum, gdbarch_tdep::ppc_gp0_regnum, PPC_INSN_SIZE, gdbarch_tdep::ppc_lr_regnum, ppc_num_gprs, gdbarch_tdep::ppc_xer_regnum, ppcobsd_page_size, regnum, safe_frame_unwind_memory(), trad_frame_cache::this_frame, trad_frame_cache_zalloc(), trad_frame_set_id(), trad_frame_set_reg_addr(), and gdbarch_tdep::wordsize.

Referenced by ppcobsd_sigtramp_frame_prev_register(), and ppcobsd_sigtramp_frame_this_id().

## ◆ ppcobsd_sigtramp_frame_prev_register()

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

Definition at line 225 of file ppc-obsd-tdep.c.

References ppcobsd_sigtramp_frame_cache(), regnum, trad_frame_cache::this_frame, and trad_frame_get_register().

## ◆ ppcobsd_sigtramp_frame_sniffer()

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

Definition at line 119 of file ppc-obsd-tdep.c.

References gdbarch::byte_order, extract_unsigned_integer(), find_pc_partial_function(), gdbarch_byte_order(), get_frame_arch(), get_frame_pc(), name, offset, PPC_INSN_SIZE, ppcobsd_page_size, ppcobsd_sigreturn_offset, and safe_frame_unwind_memory().

## ◆ ppcobsd_sigtramp_frame_this_id()

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

Definition at line 215 of file ppc-obsd-tdep.c.

References ppcobsd_sigtramp_frame_cache(), trad_frame_cache::this_frame, trad_frame_cache::this_id, and trad_frame_get_id().

## ◆ ppcobsd_supply_gregset()

void ppcobsd_supply_gregset | ( | const struct regset * | regset,
|  | struct regcache * | regcache,
|  | int | regnum,
|  | const void * | gregs,
|  | size_t | len
| ) |  |

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

References ppc_supply_fpregset(), ppc_supply_gregset(), and regnum.

## Variable Documentation

## ◆ ppcobsd_fpreg_offsets

struct ppc_reg_offsets ppcobsd_fpreg_offsets

Definition at line 37 of file ppc-obsd-tdep.c.

Referenced by _initialize_ppcobsd_nat(), and _initialize_ppcobsd_tdep().

## ◆ ppcobsd_fpregset

const struct regset ppcobsd_fpregset

Initial value:
=
{
&ppcobsd_fpreg_offsets,
ppc_supply_fpregset
}
ppcobsd_fpreg_offsets
struct ppc_reg_offsets ppcobsd_fpreg_offsets
Definition: ppc-obsd-tdep.c:37
ppc_supply_fpregset
void ppc_supply_fpregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len)
Definition: rs6000-tdep.c:561

Definition at line 77 of file ppc-obsd-tdep.c.

Referenced by ppcobsd_fetch_registers(), and ppcobsd_store_registers().

## ◆ ppcobsd_gregset

const struct regset ppcobsd_gregset

Initial value:
=
{
&ppcobsd_reg_offsets,
ppcobsd_supply_gregset
}
ppcobsd_supply_gregset
void ppcobsd_supply_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
Definition: ppc-obsd-tdep.c:47
ppcobsd_reg_offsets
struct ppc_reg_offsets ppcobsd_reg_offsets
Definition: ppc-obsd-tdep.c:36

Definition at line 71 of file ppc-obsd-tdep.c.

Referenced by ppcobsd_fetch_registers(), ppcobsd_iterate_over_regset_sections(), and ppcobsd_store_registers().

## ◆ ppcobsd_page_size

const int ppcobsd_page_size = 4096
| static

Definition at line 109 of file ppc-obsd-tdep.c.

Referenced by ppcobsd_sigtramp_frame_cache(), and ppcobsd_sigtramp_frame_sniffer().

## ◆ ppcobsd_reg_offsets

struct ppc_reg_offsets ppcobsd_reg_offsets

Definition at line 36 of file ppc-obsd-tdep.c.

Referenced by _initialize_ppcobsd_nat(), and _initialize_ppcobsd_tdep().

## ◆ ppcobsd_sigreturn_offset

const int ppcobsd_sigreturn_offset[]
| static

Initial value:
= {
0x98,
0x0c,
-1
}

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

Referenced by ppcobsd_sigtramp_frame_sniffer().

## ◆ ppcobsd_sigtramp_frame_unwind

const struct frame_unwind ppcobsd_sigtramp_frame_unwind
| static

Initial value:
= {
SIGTRAMP_FRAME,
default_frame_unwind_stop_reason,
ppcobsd_sigtramp_frame_this_id,
ppcobsd_sigtramp_frame_prev_register,
NULL,
ppcobsd_sigtramp_frame_sniffer
}
ppcobsd_sigtramp_frame_prev_register
static struct value * ppcobsd_sigtramp_frame_prev_register(struct frame_info *this_frame, void **this_cache, int regnum)
Definition: ppc-obsd-tdep.c:225
ppcobsd_sigtramp_frame_this_id
static void ppcobsd_sigtramp_frame_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
Definition: ppc-obsd-tdep.c:215
SIGTRAMP_FRAME
Definition: frame.h:255
ppcobsd_sigtramp_frame_sniffer
static int ppcobsd_sigtramp_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
Definition: ppc-obsd-tdep.c:119
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

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

Referenced by ppcobsd_init_abi().