forked from Imagelibrary/binutils-gdb
* hppanbsd-tdep.c, m68kbsd-tdep.c, mn10300-linux-tdep.c,
ppc-linux-tdep.c, ppcnbsd-tdep.c, sparc-linux-tdep.c, sparc64-linux-tdep.c: Update for unwinder changes.
This commit is contained in:
@@ -136,24 +136,24 @@ m68kbsd_regset_from_core_section (struct gdbarch *gdbarch,
|
||||
|
||||
static void
|
||||
m68kobsd_sigtramp_cache_init (const struct tramp_frame *self,
|
||||
struct frame_info *next_frame,
|
||||
struct frame_info *this_frame,
|
||||
struct trad_frame_cache *this_cache,
|
||||
CORE_ADDR func)
|
||||
{
|
||||
CORE_ADDR addr, base, pc;
|
||||
int regnum;
|
||||
|
||||
base = frame_unwind_register_unsigned (next_frame, M68K_SP_REGNUM);
|
||||
base = get_frame_register_unsigned (this_frame, M68K_SP_REGNUM);
|
||||
|
||||
/* The 'addql #4,%sp' instruction at offset 8 adjusts the stack
|
||||
pointer. Adjust the frame base accordingly. */
|
||||
pc = frame_unwind_register_unsigned (next_frame, M68K_PC_REGNUM);
|
||||
pc = get_frame_register_unsigned (this_frame, M68K_PC_REGNUM);
|
||||
if ((pc - func) > 8)
|
||||
base -= 4;
|
||||
|
||||
/* Get frame pointer, stack pointer, program counter and processor
|
||||
state from `struct sigcontext'. */
|
||||
addr = get_frame_memory_unsigned (next_frame, base + 8, 4);
|
||||
addr = get_frame_memory_unsigned (this_frame, base + 8, 4);
|
||||
trad_frame_set_reg_addr (this_cache, M68K_FP_REGNUM, addr + 8);
|
||||
trad_frame_set_reg_addr (this_cache, M68K_SP_REGNUM, addr + 12);
|
||||
trad_frame_set_reg_addr (this_cache, M68K_PC_REGNUM, addr + 20);
|
||||
@@ -161,7 +161,7 @@ m68kobsd_sigtramp_cache_init (const struct tramp_frame *self,
|
||||
|
||||
/* The sc_ap member of `struct sigcontext' points to additional
|
||||
hardware state. Here we find the missing registers. */
|
||||
addr = get_frame_memory_unsigned (next_frame, addr + 16, 4) + 4;
|
||||
addr = get_frame_memory_unsigned (this_frame, addr + 16, 4) + 4;
|
||||
for (regnum = M68K_D0_REGNUM; regnum < M68K_FP_REGNUM; regnum++, addr += 4)
|
||||
trad_frame_set_reg_addr (this_cache, regnum, addr);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user