GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Macros | Functions | Variables
/tmp/gdb-13.1/gdb/hppa-linux-tdep.c File Reference
#include "defs.h"
#include "gdbcore.h"
#include "osabi.h"
#include "target.h"
#include "objfiles.h"
#include "solib-svr4.h"
#include "glibc-tdep.h"
#include "frame-unwind.h"
#include "trad-frame.h"
#include "dwarf2/frame.h"
#include "value.h"
#include "regset.h"
#include "regcache.h"
#include "hppa-tdep.h"
#include "linux-tdep.h"
#include "elf/common.h"

Go to the source code of this file.

Classes

struct  insn_pattern
 
struct  hppa_linux_sigtramp_unwind_cache
 

Macros

#define HPPA_MAX_INSN_PATTERN_LEN   (4)
 

Functions

static int hppa_dwarf_reg_to_regnum (struct gdbarch *gdbarch, int reg)
 
static void hppa_linux_target_write_pc (struct regcache *regcache, CORE_ADDR v)
 
static int insns_match_pattern (struct gdbarch *gdbarch, CORE_ADDR pc, struct insn_pattern *pattern, unsigned int *insn)
 
static CORE_ADDR hppa_linux_sigtramp_find_sigcontext (struct gdbarch *gdbarch, CORE_ADDR pc)
 
static struct hppa_linux_sigtramp_unwind_cachehppa_linux_sigtramp_frame_unwind_cache (frame_info_ptr this_frame, void **this_cache)
 
static void hppa_linux_sigtramp_frame_this_id (frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id)
 
static struct valuehppa_linux_sigtramp_frame_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum)
 
static int hppa_linux_sigtramp_frame_sniffer (const struct frame_unwind *self, frame_info_ptr this_frame, void **this_prologue_cache)
 
static CORE_ADDR hppa_linux_find_global_pointer (struct gdbarch *gdbarch, struct value *function)
 
static void hppa_linux_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
 
static void hppa_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
void _initialize_hppa_linux_tdep ()
 

Variables

static struct insn_pattern hppa_sigtramp []
 
static const struct frame_unwind hppa_linux_sigtramp_frame_unwind
 
static const struct regcache_map_entry hppa_linux_gregmap []
 
static const struct regcache_map_entry hppa_linux_fpregmap []
 
static const struct regset hppa_linux_regset
 
static const struct regset hppa_linux_fpregset
 

Macro Definition Documentation

◆ HPPA_MAX_INSN_PATTERN_LEN

#define HPPA_MAX_INSN_PATTERN_LEN   (4)

Definition at line 80 of file hppa-linux-tdep.c.

Function Documentation

◆ _initialize_hppa_linux_tdep()

void _initialize_hppa_linux_tdep ( )

◆ hppa_dwarf_reg_to_regnum()

static int hppa_dwarf_reg_to_regnum ( struct gdbarch gdbarch,
int  reg 
)
static

Definition at line 39 of file hppa-linux-tdep.c.

References HPPA_FP4_REGNUM.

Referenced by hppa_linux_init_abi().

◆ hppa_linux_find_global_pointer()

static CORE_ADDR hppa_linux_find_global_pointer ( struct gdbarch gdbarch,
struct value function 
)
static

◆ hppa_linux_init_abi()

static void hppa_linux_init_abi ( struct gdbarch_info  info,
struct gdbarch gdbarch 
)
static

◆ hppa_linux_iterate_over_regset_sections()

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

◆ hppa_linux_sigtramp_find_sigcontext()

static CORE_ADDR hppa_linux_sigtramp_find_sigcontext ( struct gdbarch gdbarch,
CORE_ADDR  pc 
)
static

◆ hppa_linux_sigtramp_frame_prev_register()

static struct value * hppa_linux_sigtramp_frame_prev_register ( frame_info_ptr  this_frame,
void **  this_prologue_cache,
int  regnum 
)
static

◆ hppa_linux_sigtramp_frame_sniffer()

static int hppa_linux_sigtramp_frame_sniffer ( const struct frame_unwind self,
frame_info_ptr  this_frame,
void **  this_prologue_cache 
)
static

◆ hppa_linux_sigtramp_frame_this_id()

static void hppa_linux_sigtramp_frame_this_id ( frame_info_ptr  this_frame,
void **  this_prologue_cache,
struct frame_id this_id 
)
static

◆ hppa_linux_sigtramp_frame_unwind_cache()

static struct hppa_linux_sigtramp_unwind_cache * hppa_linux_sigtramp_frame_unwind_cache ( frame_info_ptr  this_frame,
void **  this_cache 
)
static

◆ hppa_linux_target_write_pc()

static void hppa_linux_target_write_pc ( struct regcache regcache,
CORE_ADDR  v 
)
static

◆ insns_match_pattern()

static int insns_match_pattern ( struct gdbarch gdbarch,
CORE_ADDR  pc,
struct insn_pattern pattern,
unsigned int *  insn 
)
static

Variable Documentation

◆ hppa_linux_fpregmap

const struct regcache_map_entry hppa_linux_fpregmap[]
static
Initial value:
=
{
{ 64, HPPA_FP0_REGNUM, 4 },
{ 0 }
}
@ HPPA_FP0_REGNUM
Definition: hppa-tdep.h:72

Definition at line 452 of file hppa-linux-tdep.c.

◆ hppa_linux_fpregset

const struct regset hppa_linux_fpregset
static
Initial value:
=
{
}
static const struct regcache_map_entry hppa_linux_fpregmap[]
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
Definition: regcache.c:1264
void regcache_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
Definition: regcache.c:1242

Definition at line 467 of file hppa-linux-tdep.c.

Referenced by hppa_linux_iterate_over_regset_sections().

◆ hppa_linux_gregmap

const struct regcache_map_entry hppa_linux_gregmap[]
static
Initial value:
=
{
{ 32, HPPA_R0_REGNUM },
{ 1, HPPA_SR4_REGNUM+1 },
{ 1, HPPA_SR4_REGNUM+2 },
{ 1, HPPA_SR4_REGNUM+3 },
{ 1, HPPA_SR4_REGNUM+4 },
{ 1, HPPA_SR4_REGNUM+5 },
{ 1, HPPA_SR4_REGNUM+6 },
{ 1, HPPA_SR4_REGNUM+7 },
{ 0 }
}
@ HPPA_CCR_REGNUM
Definition: hppa-tdep.h:67
@ HPPA_PCSQ_HEAD_REGNUM
Definition: hppa-tdep.h:47
@ HPPA_IOR_REGNUM
Definition: hppa-tdep.h:53
@ HPPA_SAR_REGNUM
Definition: hppa-tdep.h:44
@ HPPA_TR0_REGNUM
Definition: hppa-tdep.h:68
@ HPPA_IPSW_REGNUM
Definition: hppa-tdep.h:45
@ HPPA_ISR_REGNUM
Definition: hppa-tdep.h:52
@ HPPA_PID0_REGNUM
Definition: hppa-tdep.h:63
@ HPPA_PCOQ_HEAD_REGNUM
Definition: hppa-tdep.h:46
@ HPPA_PCSQ_TAIL_REGNUM
Definition: hppa-tdep.h:49
@ HPPA_PCOQ_TAIL_REGNUM
Definition: hppa-tdep.h:48
@ HPPA_RCR_REGNUM
Definition: hppa-tdep.h:62
@ HPPA_EIEM_REGNUM
Definition: hppa-tdep.h:50
@ HPPA_SR4_REGNUM
Definition: hppa-tdep.h:54
@ HPPA_IIR_REGNUM
Definition: hppa-tdep.h:51
@ HPPA_R0_REGNUM
Definition: hppa-tdep.h:33

Definition at line 424 of file hppa-linux-tdep.c.

◆ hppa_linux_regset

const struct regset hppa_linux_regset
static
Initial value:
=
{
}
static const struct regcache_map_entry hppa_linux_gregmap[]

Definition at line 461 of file hppa-linux-tdep.c.

Referenced by hppa_linux_iterate_over_regset_sections().

◆ hppa_linux_sigtramp_frame_unwind

const struct frame_unwind hppa_linux_sigtramp_frame_unwind
static
Initial value:
= {
"hppa linux sigtramp",
NULL,
}
enum unwind_stop_reason default_frame_unwind_stop_reason(frame_info_ptr this_frame, void **this_cache)
Definition: frame-unwind.c:227
@ SIGTRAMP_FRAME
Definition: frame.h:190
static int hppa_linux_sigtramp_frame_sniffer(const struct frame_unwind *self, frame_info_ptr this_frame, void **this_prologue_cache)
static void hppa_linux_sigtramp_frame_this_id(frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id)
static struct value * hppa_linux_sigtramp_frame_prev_register(frame_info_ptr this_frame, void **this_prologue_cache, int regnum)

Definition at line 311 of file hppa-linux-tdep.c.

Referenced by hppa_linux_init_abi().

◆ hppa_sigtramp

struct insn_pattern hppa_sigtramp[]
static
Initial value:
= {
{ 0x34190000, 0xfffffffd },
{ 0x3414015a, 0xffffffff },
{ 0xe4008200, 0xffffffff },
{ 0x08000240, 0xffffffff },
{ 0, 0 }
}

Definition at line 68 of file hppa-linux-tdep.c.

Referenced by hppa_linux_sigtramp_find_sigcontext().