GDB (xrefs)
Classes | Defines | Functions | Variables
/home/stan/gdb/src/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

Defines

#define HPPA_MAX_INSN_PATTERN_LEN   (4)
#define GR_REGNUM(_n)   (HPPA_R0_REGNUM+_n)
#define TR_REGNUM(_n)   (HPPA_TR0_REGNUM+_n)

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_cache
hppa_linux_sigtramp_frame_unwind_cache (struct frame_info *this_frame, void **this_cache)
static void hppa_linux_sigtramp_frame_this_id (struct frame_info *this_frame, void **this_prologue_cache, struct frame_id *this_id)
static struct valuehppa_linux_sigtramp_frame_prev_register (struct frame_info *this_frame, void **this_prologue_cache, int regnum)
static int hppa_linux_sigtramp_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
static CORE_ADDR hppa_linux_find_global_pointer (struct gdbarch *gdbarch, struct value *function)
static void hppa_linux_supply_regset (const struct regset *regset, struct regcache *regcache, int regnum, const void *regs, size_t len)
static void hppa_linux_supply_fpregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *regs, size_t len)
static struct regsethppa_linux_regset_from_core_section (struct gdbarch *gdbarch, const char *sect_name, size_t sect_size)
static void hppa_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
void _initialize_hppa_linux_tdep (void)

Variables

static struct insn_pattern hppa_sigtramp []
static struct frame_unwind hppa_linux_sigtramp_frame_unwind
static const int greg_map []
static struct regset hppa_linux_regset
static struct regset hppa_linux_fpregset
initialize_file_ftype _initialize_hppa_linux_tdep

Define Documentation

#define GR_REGNUM (   _n)    (HPPA_R0_REGNUM+_n)

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

#define HPPA_MAX_INSN_PATTERN_LEN   (4)

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

Referenced by hppa_linux_sigtramp_find_sigcontext().

#define TR_REGNUM (   _n)    (HPPA_TR0_REGNUM+_n)

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


Function Documentation

void _initialize_hppa_linux_tdep ( void  )
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, and warning().

Referenced by hppa_linux_init_abi().

static CORE_ADDR hppa_linux_find_global_pointer ( struct gdbarch gdbarch,
struct value function 
) [static]
static void hppa_linux_init_abi ( struct gdbarch_info  info,
struct gdbarch gdbarch 
) [static]
static struct regset* hppa_linux_regset_from_core_section ( struct gdbarch gdbarch,
const char *  sect_name,
size_t  sect_size 
) [static, read]

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

References hppa_linux_fpregset, and hppa_linux_regset.

Referenced by hppa_linux_init_abi().

static CORE_ADDR hppa_linux_sigtramp_find_sigcontext ( struct gdbarch gdbarch,
CORE_ADDR  pc 
) [static]
static struct value* hppa_linux_sigtramp_frame_prev_register ( struct frame_info this_frame,
void **  this_prologue_cache,
int  regnum 
) [static, read]
static int hppa_linux_sigtramp_frame_sniffer ( const struct frame_unwind self,
struct frame_info this_frame,
void **  this_prologue_cache 
) [static]
static void hppa_linux_sigtramp_frame_this_id ( struct frame_info this_frame,
void **  this_prologue_cache,
struct frame_id this_id 
) [static]
static struct hppa_linux_sigtramp_unwind_cache* hppa_linux_sigtramp_frame_unwind_cache ( struct frame_info this_frame,
void **  this_cache 
) [static, read]
static void hppa_linux_supply_fpregset ( const struct regset regset,
struct regcache regcache,
int  regnum,
const void *  regs,
size_t  len 
) [static]

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

References HPPA_FP0_REGNUM, offset, regcache_raw_supply(), and gdbarch_tdep::regs.

static void hppa_linux_supply_regset ( const struct regset regset,
struct regcache regcache,
int  regnum,
const void *  regs,
size_t  len 
) [static]
static void hppa_linux_target_write_pc ( struct regcache regcache,
CORE_ADDR  v 
) [static]
static int insns_match_pattern ( struct gdbarch gdbarch,
CORE_ADDR  pc,
struct insn_pattern pattern,
unsigned int insn 
) [static]

Variable Documentation

const int greg_map[] [static]
struct regset hppa_linux_fpregset [static]
Initial value:

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

Referenced by hppa_linux_regset_from_core_section().

struct regset hppa_linux_regset [static]
Initial value:

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

Referenced by hppa_linux_regset_from_core_section().

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

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

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines