| 
    GDB (xrefs)
   
    
   
   | 
  
  
  
 
#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.
| #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.
| void _initialize_hppa_linux_tdep | ( | void | ) | 
Definition at line 565 of file hppa-linux-tdep.c.
References _initialize_hppa_linux_tdep, GDB_OSABI_LINUX, gdbarch_register_osabi(), and hppa_linux_init_abi().
| 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] | 
        
Definition at line 334 of file hppa-linux-tdep.c.
References ALL_OBJFILE_OSECTIONS, extract_signed_integer(), extract_unsigned_integer(), find_pc_section(), gdbarch_byte_order(), in_plt_section(), LONGEST, obj_section_addr, obj_section_endaddr, obj_section::objfile, objfile::sections_end, exsummary::status, target_read_memory(), obj_section::the_bfd_section, and value_as_address().
Referenced by hppa_linux_init_abi().
| static void hppa_linux_init_abi | ( | struct gdbarch_info | info, | 
| struct gdbarch * | gdbarch | ||
| ) |  [static] | 
        
Definition at line 524 of file hppa-linux-tdep.c.
References gdbarch_tdep::find_global_pointer, frame_unwind_append_unwinder(), gdbarch_tdep(), glibc_skip_solib_resolver(), hppa_dwarf_reg_to_regnum(), hppa_in_solib_call_trampoline(), hppa_linux_find_global_pointer(), hppa_linux_regset_from_core_section(), hppa_linux_target_write_pc(), hppa_skip_trampoline_code(), gdbarch_tdep::in_solib_call_trampoline, gdbarch_tdep::is_elf, linux_init_abi(), set_gdbarch_dwarf2_reg_to_regnum(), set_gdbarch_fetch_tls_load_module_address(), set_gdbarch_long_double_bit(), set_gdbarch_regset_from_core_section(), set_gdbarch_skip_solib_resolver(), set_gdbarch_skip_trampoline_code(), set_gdbarch_write_pc(), set_solib_svr4_fetch_link_map_offsets(), svr4_fetch_objfile_link_map(), and svr4_ilp32_fetch_link_map_offsets().
Referenced by _initialize_hppa_linux_tdep().
| 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] | 
        
Definition at line 135 of file hppa-linux-tdep.c.
References align_down(), dummy, HPPA_MAX_INSN_PATTERN_LEN, insns_match_pattern(), and sp.
Referenced by hppa_linux_sigtramp_frame_sniffer(), and hppa_linux_sigtramp_frame_unwind_cache().
| static struct value* hppa_linux_sigtramp_frame_prev_register | ( | struct frame_info * | this_frame, | 
| void ** | this_prologue_cache, | ||
| int | regnum | ||
| ) |  [static, read] | 
        
Definition at line 284 of file hppa-linux-tdep.c.
References hppa_frame_prev_register_helper(), hppa_linux_sigtramp_frame_unwind_cache(), and hppa_linux_sigtramp_unwind_cache::saved_regs.
| static int hppa_linux_sigtramp_frame_sniffer | ( | const struct frame_unwind * | self, | 
| struct frame_info * | this_frame, | ||
| void ** | this_prologue_cache | ||
| ) |  [static] | 
        
Definition at line 301 of file hppa-linux-tdep.c.
References get_frame_arch(), get_frame_pc(), and hppa_linux_sigtramp_find_sigcontext().
| static void hppa_linux_sigtramp_frame_this_id | ( | struct frame_info * | this_frame, | 
| void ** | this_prologue_cache, | ||
| struct frame_id * | this_id | ||
| ) |  [static] | 
        
Definition at line 274 of file hppa-linux-tdep.c.
References hppa_linux_sigtramp_unwind_cache::base, frame_id_build(), get_frame_pc(), and hppa_linux_sigtramp_frame_unwind_cache().
| static struct hppa_linux_sigtramp_unwind_cache* hppa_linux_sigtramp_frame_unwind_cache | ( | struct frame_info * | this_frame, | 
| void ** | this_cache | ||
| ) |  [static, read] | 
        
Definition at line 199 of file hppa-linux-tdep.c.
References trad_frame_saved_reg::addr, hppa_linux_sigtramp_unwind_cache::base, FRAME_OBSTACK_ZALLOC, get_frame_arch(), get_frame_pc(), get_frame_register_unsigned(), HPPA_FP0_REGNUM, HPPA_IPSW_REGNUM, hppa_linux_sigtramp_find_sigcontext(), HPPA_PCOQ_HEAD_REGNUM, HPPA_PCOQ_TAIL_REGNUM, HPPA_PCSQ_HEAD_REGNUM, HPPA_PCSQ_TAIL_REGNUM, HPPA_R0_REGNUM, HPPA_SAR_REGNUM, HPPA_SP_REGNUM, hppa_linux_sigtramp_unwind_cache::saved_regs, and trad_frame_alloc_saved_regs().
Referenced by hppa_linux_sigtramp_frame_prev_register(), and hppa_linux_sigtramp_frame_this_id().
| 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] | 
        
Definition at line 456 of file hppa-linux-tdep.c.
References gdbarch_tdep::bytes_per_address, gdbarch_tdep(), get_regcache_arch(), greg_map, offset, regcache_raw_supply(), and gdbarch_tdep::regs.
| static void hppa_linux_target_write_pc | ( | struct regcache * | regcache, | 
| CORE_ADDR | v | ||
| ) |  [static] | 
        
Definition at line 54 of file hppa-linux-tdep.c.
References HPPA_PCOQ_HEAD_REGNUM, HPPA_PCOQ_TAIL_REGNUM, and regcache_cooked_write_unsigned().
Referenced by hppa_linux_init_abi().
| static int insns_match_pattern | ( | struct gdbarch * | gdbarch, | 
| CORE_ADDR | pc, | ||
| struct insn_pattern * | pattern, | ||
| unsigned int * | insn | ||
| ) |  [static] | 
        
Definition at line 91 of file hppa-linux-tdep.c.
References insn_pattern::data, extract_unsigned_integer(), gdbarch_byte_order(), insn_pattern::mask, and target_read_memory().
Referenced by hppa_linux_sigtramp_find_sigcontext().
Referenced by _initialize_hppa_linux_tdep(), and initialize_all_files().
  {
    GR_REGNUM(0), GR_REGNUM(1), GR_REGNUM(2), GR_REGNUM(3),
    GR_REGNUM(4), GR_REGNUM(5), GR_REGNUM(6), GR_REGNUM(7),
    GR_REGNUM(8), GR_REGNUM(9), GR_REGNUM(10), GR_REGNUM(11),
    GR_REGNUM(12), GR_REGNUM(13), GR_REGNUM(14), GR_REGNUM(15),
    GR_REGNUM(16), GR_REGNUM(17), GR_REGNUM(18), GR_REGNUM(19),
    GR_REGNUM(20), GR_REGNUM(21), GR_REGNUM(22), GR_REGNUM(23),
    GR_REGNUM(24), GR_REGNUM(25), GR_REGNUM(26), GR_REGNUM(27),
    GR_REGNUM(28), GR_REGNUM(29), GR_REGNUM(30), GR_REGNUM(31),
    HPPA_SR4_REGNUM+1, HPPA_SR4_REGNUM+2, HPPA_SR4_REGNUM+3, HPPA_SR4_REGNUM+4,
    HPPA_SR4_REGNUM, HPPA_SR4_REGNUM+5, HPPA_SR4_REGNUM+6, HPPA_SR4_REGNUM+7,
    HPPA_PCOQ_HEAD_REGNUM, HPPA_PCOQ_TAIL_REGNUM,
    HPPA_PCSQ_HEAD_REGNUM, HPPA_PCSQ_TAIL_REGNUM,
    HPPA_SAR_REGNUM, HPPA_IIR_REGNUM, HPPA_ISR_REGNUM, HPPA_IOR_REGNUM,
    HPPA_IPSW_REGNUM, HPPA_RCR_REGNUM,
    TR_REGNUM(0), TR_REGNUM(1), TR_REGNUM(2), TR_REGNUM(3),
    TR_REGNUM(4), TR_REGNUM(5), TR_REGNUM(6), TR_REGNUM(7),
    HPPA_PID0_REGNUM, HPPA_PID1_REGNUM, HPPA_PID2_REGNUM, HPPA_PID3_REGNUM,
    HPPA_CCR_REGNUM, HPPA_EIEM_REGNUM,
  }
Definition at line 428 of file hppa-linux-tdep.c.
Referenced by hppa_linux_supply_regset().
struct regset hppa_linux_fpregset [static] | 
        
{
  NULL,
  hppa_linux_supply_fpregset
}
Definition at line 500 of file hppa-linux-tdep.c.
Referenced by hppa_linux_regset_from_core_section().
struct regset hppa_linux_regset [static] | 
        
{
  NULL,
  hppa_linux_supply_regset
}
Definition at line 494 of file hppa-linux-tdep.c.
Referenced by hppa_linux_regset_from_core_section().
struct frame_unwind hppa_linux_sigtramp_frame_unwind [static] | 
        
 {
  SIGTRAMP_FRAME,
  default_frame_unwind_stop_reason,
  hppa_linux_sigtramp_frame_this_id,
  hppa_linux_sigtramp_frame_prev_register,
  NULL,
  hppa_linux_sigtramp_frame_sniffer
}
Definition at line 314 of file hppa-linux-tdep.c.
struct insn_pattern hppa_sigtramp[] [static] | 
        
 {
  
  { 0x34190000, 0xfffffffd },
  
  { 0x3414015a, 0xffffffff },
  
  { 0xe4008200, 0xffffffff },
  
  { 0x08000240, 0xffffffff },
  { 0, 0 }
}
Definition at line 69 of file hppa-linux-tdep.c.
 1.7.6.1