forked from Imagelibrary/binutils-gdb
* sparc-tdep.c (sparc_frame_cache): Adjust cached frame base
address for 64-bit code. (sparc_unwind_dummy_id): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Adjust for new frame base address convention. (sparc64_push_dummy_call): Likewise. * sparc64nbsd-tdep.c: Update copyright year. (sparc64nbsd_sigcontext_frame_cache): Adjust cached frame base address for 64-bit code. (sparc64nbsd_init_abi): Tweak comment. * sparc64obsd-tdep.c: Update copyright year. (sparc64obsd_frame_cache): Adjust cached frame base address for 64-bit code. (sparc64obsd_init_abi): Tweak comment.
This commit is contained in:
@@ -673,6 +673,9 @@ sparc_frame_cache (struct frame_info *next_frame, void **this_cache)
|
||||
frame_unwind_register_unsigned (next_frame, SPARC_FP_REGNUM);
|
||||
}
|
||||
|
||||
if (cache->base & 1)
|
||||
cache->base += BIAS;
|
||||
|
||||
return cache;
|
||||
}
|
||||
|
||||
@@ -859,6 +862,8 @@ sparc_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *next_frame)
|
||||
CORE_ADDR sp;
|
||||
|
||||
sp = frame_unwind_register_unsigned (next_frame, SPARC_SP_REGNUM);
|
||||
if (sp & 1)
|
||||
sp += BIAS;
|
||||
return frame_id_build (sp, frame_pc_unwind (next_frame));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user