diff options
author | Mark Kettenis <kettenis@gnu.org> | 2005-03-09 22:08:13 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@gnu.org> | 2005-03-09 22:08:13 +0000 |
commit | 5b2d44a05d619213499bea50fb4044707eaa159d (patch) | |
tree | 996f521e6af34a9a58d265be36dca932ba65fa40 /gdb/sparc64obsd-tdep.c | |
parent | e5a8e242a83d8a2f01a3a3d92e6cf1beb22d3266 (diff) | |
download | gdb-5b2d44a05d619213499bea50fb4044707eaa159d.zip gdb-5b2d44a05d619213499bea50fb4044707eaa159d.tar.gz gdb-5b2d44a05d619213499bea50fb4044707eaa159d.tar.bz2 |
* 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.
Diffstat (limited to 'gdb/sparc64obsd-tdep.c')
-rw-r--r-- | gdb/sparc64obsd-tdep.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/gdb/sparc64obsd-tdep.c b/gdb/sparc64obsd-tdep.c index 18e0416..1946556 100644 --- a/gdb/sparc64obsd-tdep.c +++ b/gdb/sparc64obsd-tdep.c @@ -1,6 +1,6 @@ /* Target-dependent code for OpenBSD/sparc64. - Copyright 2004 Free Software Foundation, Inc. + Copyright 2004, 2005 Free Software Foundation, Inc. This file is part of GDB. @@ -133,12 +133,14 @@ sparc64obsd_frame_cache (struct frame_info *next_frame, void **this_cache) initialized under the assumption that we're frameless. */ cache->frameless_p = 0; addr = frame_unwind_register_unsigned (next_frame, SPARC_FP_REGNUM); + if (addr & 1) + addr += BIAS; cache->base = addr; } /* We find the appropriate instance of `struct sigcontext' at a fixed offset in the signal frame. */ - addr = cache->base + BIAS + 128 + 16; + addr = cache->base + 128 + 16; cache->saved_regs = sparc64nbsd_sigcontext_saved_regs (addr, next_frame); return cache; @@ -201,13 +203,13 @@ sparc64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) sparc64_init_abi (info, gdbarch); - /* OpenBSD/sparc64 has SVR4-style shared libraries... */ + /* OpenBSD/sparc64 has SVR4-style shared libraries. */ set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target); set_solib_svr4_fetch_link_map_offsets (gdbarch, svr4_lp64_fetch_link_map_offsets); } - + /* Provide a prototype to silence -Wmissing-prototypes. */ void _initialize_sparc64obsd_tdep (void); |