diff options
Diffstat (limited to 'gnu/usr.bin/binutils/gdb/sparc64-tdep.c')
-rw-r--r-- | gnu/usr.bin/binutils/gdb/sparc64-tdep.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/gnu/usr.bin/binutils/gdb/sparc64-tdep.c b/gnu/usr.bin/binutils/gdb/sparc64-tdep.c index 437650876b8..a4398d57adb 100644 --- a/gnu/usr.bin/binutils/gdb/sparc64-tdep.c +++ b/gnu/usr.bin/binutils/gdb/sparc64-tdep.c @@ -568,8 +568,7 @@ sparc64_frame_base_address (struct frame_info *next_frame, void **this_cache) struct sparc_frame_cache *cache = sparc64_frame_cache (next_frame, this_cache); - /* ??? Should we take BIAS into account here? */ - return cache->base; + return cache->base + BIAS; } static const struct frame_base sparc64_frame_base = @@ -932,7 +931,7 @@ sparc64_store_arguments (struct regcache *regcache, int nargs, gdb_assert (element < 6); regnum = SPARC_O0_REGNUM + element; regcache_cooked_write (regcache, regnum, valbuf); - regcache_cooked_write (regcache, regnum + 1, valbuf); + regcache_cooked_write (regcache, regnum + 1, valbuf + 8); } } @@ -949,7 +948,7 @@ sparc64_store_arguments (struct regcache *regcache, int nargs, } static CORE_ADDR -sparc64_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr, +sparc64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr) |