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/score-tdep.c | |
parent | ed49a04fe1bc299bc4b22c01a15c1f46ae21a294 (diff) | |
download | fsf-binutils-gdb-be8626e05a1d01d9467d67dead4d3b176d0a9cb6.zip fsf-binutils-gdb-be8626e05a1d01d9467d67dead4d3b176d0a9cb6.tar.gz fsf-binutils-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/score-tdep.c')
-rw-r--r-- | gdb/score-tdep.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/gdb/score-tdep.c b/gdb/score-tdep.c index f691753..4ef6200 100644 --- a/gdb/score-tdep.c +++ b/gdb/score-tdep.c @@ -641,7 +641,7 @@ score_adjust_memblock_ptr (char **memblock, CORE_ADDR prev_pc, } static inst_t * -score_fetch_inst (CORE_ADDR addr, char *memblock) +score_fetch_inst (struct gdbarch *gdbarch, CORE_ADDR addr, char *memblock) { static inst_t inst = { 0, 0 }; char buf[SCORE_INSTLEN] = { 0 }; @@ -668,7 +668,7 @@ score_fetch_inst (CORE_ADDR addr, char *memblock) inst.raw = extract_unsigned_integer (buf, SCORE_INSTLEN); inst.is15 = !(inst.raw & 0x80008000); inst.v = RM_PBITS (inst.raw); - big = (gdbarch_byte_order (current_gdbarch) == BFD_ENDIAN_BIG); + big = (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG); if (inst.is15) { if (big ^ ((addr & 0x2) == 2)) @@ -686,7 +686,7 @@ score_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) int iscan = 32, stack_sub = 0; while (iscan-- > 0) { - inst_t *inst = score_fetch_inst (cpc, NULL); + inst_t *inst = score_fetch_inst (gdbarch, cpc, NULL); if (!inst) break; if (!inst->is15 && !stack_sub @@ -731,7 +731,7 @@ score_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) static int score_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR cur_pc) { - inst_t *inst = score_fetch_inst (cur_pc, NULL); + inst_t *inst = score_fetch_inst (gdbarch, cur_pc, NULL); if (inst->v == 0x23) return 1; /* mv! r0, r2 */ @@ -757,6 +757,7 @@ score_analyze_prologue (CORE_ADDR startaddr, CORE_ADDR pc, struct frame_info *next_frame, struct score_frame_cache *this_cache) { + struct gdbarch *gdbarch = get_frame_arch (next_frame); CORE_ADDR sp; CORE_ADDR fp; CORE_ADDR cur_pc = startaddr; @@ -787,13 +788,13 @@ score_analyze_prologue (CORE_ADDR startaddr, CORE_ADDR pc, /* Reading memory block from target succefully and got all the instructions(from STARTADDR to PC) needed. */ score_adjust_memblock_ptr (&memblock, prev_pc, cur_pc); - inst = score_fetch_inst (cur_pc, memblock); + inst = score_fetch_inst (gdbarch, cur_pc, memblock); } else { /* Otherwise, we fetch 4 bytes from target, and GDB also work correctly. */ - inst = score_fetch_inst (cur_pc, NULL); + inst = score_fetch_inst (gdbarch, cur_pc, NULL); } if (inst->is15 == 1) @@ -895,7 +896,7 @@ score_analyze_prologue (CORE_ADDR startaddr, CORE_ADDR pc, { unsigned int save_v = inst->v; inst_t *inst2 = - score_fetch_inst (cur_pc + SCORE_INSTLEN, NULL); + score_fetch_inst (gdbarch, cur_pc + SCORE_INSTLEN, NULL); if (inst2->v == 0x23) { /* mv! r0, r2 */ |