diff options
author | Markus Deuling <deuling@de.ibm.com> | 2008-01-11 14:43:15 +0000 |
---|---|---|
committer | Markus Deuling <deuling@de.ibm.com> | 2008-01-11 14:43:15 +0000 |
commit | be8626e05a1d01d9467d67dead4d3b176d0a9cb6 (patch) | |
tree | 10c5e0ac7fbee4ec243419c6a9a06ad374c13ad8 /gdb/hppa-tdep.c | |
parent | ed49a04fe1bc299bc4b22c01a15c1f46ae21a294 (diff) | |
download | gdb-be8626e05a1d01d9467d67dead4d3b176d0a9cb6.zip gdb-be8626e05a1d01d9467d67dead4d3b176d0a9cb6.tar.gz gdb-be8626e05a1d01d9467d67dead4d3b176d0a9cb6.tar.bz2 |
* alpha-tdep.c (alpha_heuristic_proc_start)
(alpha_sigtramp_register_address): Add gdbarch as parameter. Replace
current_gdbarch by gdbarch.
(alpha_heuristic_frame_unwind_cache): Use get_frame_arch to get at the
current architecture by frame_info. Update alpha_heuristic_proc_start
call.
(alpha_sigtramp_frame_this_id, alpha_sigtramp_frame_prev_register): Use
get_frame_arch to get at the current architecture by frame_info. Update
alpha_sigtramp_register_address call.
* arm-tdep.c (thumb_scan_prologue): Add gdbarch as parameter and replace
current_gdbarch by gdbarch. Update caller.
(convert_to_extended, convert_from_extended): Add endianess parameter
for comparison. Update caller.
(arm_extract_return_value, arm_store_return_value): Use
get_regcache_arch to get at the current architecture.
* cris-tdep.c (cris_register_size): Add gdbarch as parameter. Replace
current_gdbarch by gdbarch. Update caller.
(cris_gdb_func, move_to_preg_op, none_reg_mode_move_from_preg_op): Add
gdbarch as parameter. Update caller. Replace current_gdbarch by gdbarch.
* h8300-tdep.c (E_PSEUDO_CCR_REGNUM, E_PSEUDO_EXR_REGNUM, BINWORD): Add
gdbarch as parameter. Update caller.
(h8300_init_frame_cache): Add gdbarch as parameter. Replace
current_gdbarch by gdbarch. Update caller.
* hppa-tdep.c (skip_prologue_hard_way): Add gdbarch as parameter and
update caller. Replace current_gdbarch by gdbarch.
* m32c-tdep.c (m32c_skip_trampoline_code): Use get_frame_arch to get at
the current architecture. Replace current_gdbarch by gdbarch.
* m68hc11-tdep.c (m68hc11_frame_unwind_cache): Likewise.
(STACK_CORRECTION, USE_PAGE_REGISTER): Replace M6811_TDEP by its
expression. Add gdbarch as parameter and replace current_gdbarch with
it. Update caller.
(M6811_TDEP): Remove.
(m68hc11_frame_prev_register): Use get_frame_arch to get at the current
architecture.
(m68hc11_scan_prologue): Add gdbarch as parameter. Replace
current_gdbarch by gdbarch. Update caller.
* m68k-tdep.c (m68k_analyze_prologue): Add gdbarch as parameter and
update caller.
(m68k_analyze_register_saves): Likewise. Also replace current_gdbarch
by gdbarch.
* rs6000-tdep.c (skip_prologue): Add gdbarch as parameter and update
caller. Relace current_gdbarch by gdbarch.
(altivec_register_p, spe_register_p): Likewise.
* ppc-tdep.h (altivec_register_p, spe_register_p): Add gdbarch as
parameter.
* ppc-linux-nat.c (fetch_register, store_register): Update caller of
altivec_register_p and spe_register_p.
* score-tdep.c (score_fetch_inst): Add gdbarch as parameter. Update
caller. Replace current_gdbarch by gdbarch.
(score_analyze_prologue): use get_frame_arch to get at the current
architecture.
* sparc-tdep.h (sparc_analyze_prologue): Add gdbarch as parameter.
* sparc-tdep.c (sparc_analyze_prologue): Likewise. Replace
current_gdbarch by gdbarch. Update caller.
(sparc_frame_cache): Use get_frame_arch to get at the current
architecture.
* sparce64-tdep.c (sparc64_skip_prologue): Update call of
sparc_analyze_prologue.
* mn10300-tdep.c (mn10300_dwarf2_reg_to_regnum): Add gdbarch as
parameter.
Diffstat (limited to 'gdb/hppa-tdep.c')
-rw-r--r-- | gdb/hppa-tdep.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c index b9791de..e5b09f5 100644 --- a/gdb/hppa-tdep.c +++ b/gdb/hppa-tdep.c @@ -1469,7 +1469,8 @@ inst_saves_fr (unsigned long inst) static CORE_ADDR -skip_prologue_hard_way (CORE_ADDR pc, int stop_before_branch) +skip_prologue_hard_way (struct gdbarch *gdbarch, CORE_ADDR pc, + int stop_before_branch) { char buf[4]; CORE_ADDR orig_pc = pc; @@ -1595,10 +1596,10 @@ restart: FIXME. Can still die if we have a mix of GR and FR argument stores! */ - if (reg_num >= (gdbarch_ptr_bit (current_gdbarch) == 64 ? 19 : 23) + if (reg_num >= (gdbarch_ptr_bit (gdbarch) == 64 ? 19 : 23) && reg_num <= 26) { - while (reg_num >= (gdbarch_ptr_bit (current_gdbarch) == 64 ? 19 : 23) + while (reg_num >= (gdbarch_ptr_bit (gdbarch) == 64 ? 19 : 23) && reg_num <= 26) { pc += 4; @@ -1627,7 +1628,7 @@ restart: if ((inst & 0xfc000000) == 0x34000000 && inst_saves_fr (next_inst) >= 4 && inst_saves_fr (next_inst) - <= (gdbarch_ptr_bit (current_gdbarch) == 64 ? 11 : 7)) + <= (gdbarch_ptr_bit (gdbarch) == 64 ? 11 : 7)) { /* So we drop into the code below in a reasonable state. */ reg_num = inst_saves_fr (next_inst); @@ -1639,11 +1640,11 @@ restart: never does prologue scheduling. So once we see one, skip past all of them. */ if (reg_num >= 4 - && reg_num <= (gdbarch_ptr_bit (current_gdbarch) == 64 ? 11 : 7)) + && reg_num <= (gdbarch_ptr_bit (gdbarch) == 64 ? 11 : 7)) { while (reg_num >= 4 && reg_num - <= (gdbarch_ptr_bit (current_gdbarch) == 64 ? 11 : 7)) + <= (gdbarch_ptr_bit (gdbarch) == 64 ? 11 : 7)) { pc += 8; status = read_memory_nobpt (pc, buf, 4); @@ -1781,7 +1782,7 @@ hppa_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) if (post_prologue_pc != 0) return max (pc, post_prologue_pc); else - return (skip_prologue_hard_way (pc, 1)); + return (skip_prologue_hard_way (gdbarch, pc, 1)); } /* Return an unwind entry that falls within the frame's code block. */ @@ -1908,7 +1909,7 @@ hppa_frame_cache (struct frame_info *next_frame, void **this_cache) else start_pc = frame_func_unwind (next_frame, NORMAL_FRAME); - prologue_end = skip_prologue_hard_way (start_pc, 0); + prologue_end = skip_prologue_hard_way (gdbarch, start_pc, 0); end_pc = frame_pc_unwind (next_frame); if (prologue_end != 0 && end_pc > prologue_end) |