Index: gdb/hppa-tdep.c |
diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c |
index 581ffc7aad87c7989aa7e03def6c33120f409989..53f8ed7f65aa7da4834948cead87be3c5338e07e 100644 |
--- a/gdb/hppa-tdep.c |
+++ b/gdb/hppa-tdep.c |
@@ -1,7 +1,6 @@ |
/* Target-dependent code for the HP PA-RISC architecture. |
- Copyright (C) 1986-1987, 1989-1996, 1998-2005, 2007-2012 Free |
- Software Foundation, Inc. |
+ Copyright (C) 1986-2013 Free Software Foundation, Inc. |
Contributed by the Center for Software Science at the |
University of Utah (pa-gdb-bugs@cs.utah.edu). |
@@ -328,7 +327,7 @@ read_unwind_info (struct objfile *objfile) |
struct hppa_unwind_info *ui; |
struct hppa_objfile_private *obj_private; |
- text_offset = ANOFFSET (objfile->section_offsets, 0); |
+ text_offset = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile)); |
ui = (struct hppa_unwind_info *) obstack_alloc (&objfile->objfile_obstack, |
sizeof (struct hppa_unwind_info)); |
@@ -542,7 +541,7 @@ hppa_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc) |
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); |
unsigned long status; |
unsigned int inst; |
- char buf[4]; |
+ gdb_byte buf[4]; |
status = target_read_memory (pc, buf, 4); |
if (status != 0) |
@@ -726,7 +725,7 @@ hppa32_push_dummy_call (struct gdbarch *gdbarch, struct value *function, |
struct type *type = check_typedef (value_type (arg)); |
/* The corresponding parameter that is pushed onto the |
stack, and [possibly] passed in a register. */ |
- char param_val[8]; |
+ gdb_byte param_val[8]; |
int param_len; |
memset (param_val, 0, sizeof param_val); |
if (TYPE_LENGTH (type) > 8) |
@@ -929,7 +928,7 @@ hppa64_convert_code_addr_to_fptr (struct gdbarch *gdbarch, CORE_ADDR code) |
addr += 2 * 8) |
{ |
ULONGEST opdaddr; |
- char tmp[8]; |
+ gdb_byte tmp[8]; |
if (target_read_memory (addr, tmp, sizeof (tmp))) |
break; |
@@ -1447,7 +1446,7 @@ skip_prologue_hard_way (struct gdbarch *gdbarch, CORE_ADDR pc, |
int stop_before_branch) |
{ |
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); |
- char buf[4]; |
+ gdb_byte buf[4]; |
CORE_ADDR orig_pc = pc; |
unsigned long inst, stack_remaining, save_gr, save_fr, save_rp, save_sp; |
unsigned long args_stored, status, i, restart_gr, restart_fr; |
@@ -1898,7 +1897,7 @@ hppa_frame_cache (struct frame_info *this_frame, void **this_cache) |
pc += 4) |
{ |
int reg; |
- char buf4[4]; |
+ gdb_byte buf4[4]; |
long inst; |
if (!safe_frame_unwind_memory (this_frame, pc, buf4, sizeof buf4)) |
@@ -2418,7 +2417,7 @@ hppa_stub_unwind_sniffer (const struct frame_unwind *self, |
if (pc == 0 |
|| (tdep->in_solib_call_trampoline != NULL |
- && tdep->in_solib_call_trampoline (gdbarch, pc, NULL)) |
+ && tdep->in_solib_call_trampoline (gdbarch, pc)) |
|| gdbarch_in_solib_return_trampoline (gdbarch, pc, NULL)) |
return 1; |
return 0; |
@@ -2640,7 +2639,7 @@ hppa64_cannot_fetch_register (struct gdbarch *gdbarch, int regnum) |
} |
static CORE_ADDR |
-hppa_smash_text_address (struct gdbarch *gdbarch, CORE_ADDR addr) |
+hppa_addr_bits_remove (struct gdbarch *gdbarch, CORE_ADDR addr) |
{ |
/* The low two bits of the PC on the PA contain the privilege level. |
Some genius implementing a (non-GCC) compiler apparently decided |
@@ -2856,13 +2855,12 @@ hppa_in_dyncall (CORE_ADDR pc) |
} |
int |
-hppa_in_solib_call_trampoline (struct gdbarch *gdbarch, |
- CORE_ADDR pc, char *name) |
+hppa_in_solib_call_trampoline (struct gdbarch *gdbarch, CORE_ADDR pc) |
{ |
unsigned int insn[HPPA_MAX_INSN_PATTERN_LEN]; |
struct unwind_table_entry *u; |
- if (in_plt_section (pc, name) || hppa_in_dyncall (pc)) |
+ if (in_plt_section (pc) || hppa_in_dyncall (pc)) |
return 1; |
/* The GNU toolchain produces linker stubs without unwind |
@@ -2919,13 +2917,13 @@ hppa_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc) |
/* fallthrough */ |
} |
- if (in_plt_section (pc, NULL)) |
+ if (in_plt_section (pc)) |
{ |
pc = read_memory_typed_address (pc, func_ptr_type); |
/* If the PLT slot has not yet been resolved, the target will be |
the PLT stub. */ |
- if (in_plt_section (pc, NULL)) |
+ if (in_plt_section (pc)) |
{ |
/* Sanity check: are we pointing to the PLT stub? */ |
if (!hppa_match_insns (gdbarch, pc, hppa_plt_stub, insn)) |
@@ -3058,8 +3056,7 @@ hppa_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) |
set_gdbarch_inner_than (gdbarch, core_addr_greaterthan); |
set_gdbarch_sp_regnum (gdbarch, HPPA_SP_REGNUM); |
set_gdbarch_fp0_regnum (gdbarch, HPPA_FP0_REGNUM); |
- set_gdbarch_addr_bits_remove (gdbarch, hppa_smash_text_address); |
- set_gdbarch_smash_text_address (gdbarch, hppa_smash_text_address); |
+ set_gdbarch_addr_bits_remove (gdbarch, hppa_addr_bits_remove); |
set_gdbarch_believe_pcc_promotion (gdbarch, 1); |
set_gdbarch_read_pc (gdbarch, hppa_read_pc); |
set_gdbarch_write_pc (gdbarch, hppa_write_pc); |