* sparc-tdep.c (sparc_extract_struct_value_address): Get the

address from [sp + 64] instead of %o2.
This commit is contained in:
Mark Kettenis 2004-01-05 20:38:57 +00:00
parent dbc22fa117
commit 9515395e66
2 changed files with 6 additions and 3 deletions

View file

@ -1,5 +1,8 @@
2004-01-05 Mark Kettenis <kettenis@gnu.org>
* sparc-tdep.c (sparc_extract_struct_value_address): Get the
address from [sp + 64] instead of %o2.
* frame.c (get_prev_frame): Don't try to unwind the PC. This
fixes PR backtrace/1476.

View file

@ -839,10 +839,10 @@ sparc32_return_value (struct gdbarch *gdbarch, struct type *type,
static CORE_ADDR
sparc_extract_struct_value_address (struct regcache *regcache)
{
ULONGEST addr;
ULONGEST sp;
regcache_cooked_read_unsigned (regcache, SPARC_O0_REGNUM, &addr);
return addr;
regcache_cooked_read_unsigned (regcache, SPARC_SP_REGNUM, &sp);
return read_memory_unsigned_integer (sp + 64, 4);
}
static int