aboutsummaryrefslogtreecommitdiff
path: root/gdb/sparcobsd-tdep.c
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2011-06-27 16:36:00 +0000
committerJoel Brobecker <brobecker@gnat.com>2011-06-27 16:36:00 +0000
commit369c397ba4feb2e14ba5ce9ad34b95b886382273 (patch)
tree52c7043df99f206d677c9f5c849a74f0b6e03b19 /gdb/sparcobsd-tdep.c
parent840c4ae9274b2c291d14b74862612207d3dddae3 (diff)
downloadgdb-369c397ba4feb2e14ba5ce9ad34b95b886382273.zip
gdb-369c397ba4feb2e14ba5ce9ad34b95b886382273.tar.gz
gdb-369c397ba4feb2e14ba5ce9ad34b95b886382273.tar.bz2
Add support for single register window model on SPARC
2011-06-27 Eric Botcazou <ebotcazou@adacore.com> * sparc-tdep.h (struct sparc_frame_cache): Add frame_offset, saved_regs_mask and copied_regs_mask fields. (sparc_record_save_insn): New prototype. * sparc-tdep.c (sparc_alloc_frame_cache): Initialize the new fields. (sparc_record_save_insn): New function. (sparc_analyze_prologue): Add head comment. Recognize store insns of call-saved registers. Use OFFSET consistently. Recognize flat frames and cache their settings. (sparc32_skip_prologue): Handle flat frames. (sparc_frame_cache): Add frame_offset to the base address. (sparc32_frame_cache): Adjust to new frame description. (sparc32_frame_prev_register): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Likewise. * sparc-sol2-tdep.c (sparc32_sol2_sigtramp_frame_cache): Likewise. * sparc64-sol2-tdep.c (sparc64_sol2_sigtramp_frame_cache): Likewise. * sparcnbsd-tdep.c (sparc32nbsd_sigcontext_frame_cache): Force the frame by calling sparc_record_save_insn. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_frame_cache): Likewise. * sparcobsd-tdep.c (sparc32obsd_sigtramp_frame_cache): Likewise. * sparc64obsd-tdep.c (sparc64obsd_frame_cache): Likewise.
Diffstat (limited to 'gdb/sparcobsd-tdep.c')
-rw-r--r--gdb/sparcobsd-tdep.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gdb/sparcobsd-tdep.c b/gdb/sparcobsd-tdep.c
index b9e9540..52f9d70 100644
--- a/gdb/sparcobsd-tdep.c
+++ b/gdb/sparcobsd-tdep.c
@@ -91,7 +91,7 @@ sparc32obsd_sigtramp_frame_cache (struct frame_info *this_frame,
/* Since we couldn't find the frame's function, the cache was
initialized under the assumption that we're frameless. */
- cache->frameless_p = 0;
+ sparc_record_save_insn (cache);
addr = get_frame_register_unsigned (this_frame, SPARC_FP_REGNUM);
cache->base = addr;
}