mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-26 11:33:45 +08:00
2002-09-05 Michael Snyder <msnyder@redhat.com>
* mips-tdep.c (mips_n32n64_push_arguments): Remove alignment adjustment that doesn't conform to the ABI. (mips_extract_struct_value_address): Retrieve V0_REGNUM from saved regcache, not from current regcache.
This commit is contained in:
parent
299ffc6418
commit
6672060b18
@ -1,3 +1,10 @@
|
||||
2002-09-05 Michael Snyder <msnyder@redhat.com>
|
||||
|
||||
* mips-tdep.c (mips_n32n64_push_arguments): Remove alignment
|
||||
adjustment that doesn't conform to the ABI.
|
||||
(mips_extract_struct_value_address): Retrieve V0_REGNUM from
|
||||
saved regcache, not from current regcache.
|
||||
|
||||
2002-09-05 Andrew Cagney <ac131313@redhat.com>
|
||||
|
||||
* NEWS: Update for 5.3. Add new section ``Changes since 5.3''.
|
||||
|
@ -2955,10 +2955,6 @@ mips_n32n64_push_arguments (int nargs,
|
||||
typecode == TYPE_CODE_PTR ||
|
||||
typecode == TYPE_CODE_FLT) && len <= 4)
|
||||
longword_offset = MIPS_STACK_ARGSIZE - len;
|
||||
else if ((typecode == TYPE_CODE_STRUCT ||
|
||||
typecode == TYPE_CODE_UNION) &&
|
||||
TYPE_LENGTH (arg_type) < MIPS_STACK_ARGSIZE)
|
||||
longword_offset = MIPS_STACK_ARGSIZE - len;
|
||||
}
|
||||
|
||||
if (mips_debug)
|
||||
@ -4906,12 +4902,14 @@ mips_store_struct_return (CORE_ADDR addr, CORE_ADDR sp)
|
||||
}
|
||||
|
||||
static CORE_ADDR
|
||||
mips_extract_struct_value_address (struct regcache *ignore)
|
||||
mips_extract_struct_value_address (struct regcache *regcache)
|
||||
{
|
||||
/* FIXME: This will only work at random. The caller passes the
|
||||
struct_return address in V0, but it is not preserved. It may
|
||||
still be there, or this may be a random value. */
|
||||
return read_register (V0_REGNUM);
|
||||
CORE_ADDR val;
|
||||
regcache_cooked_read_unsigned (regcache, V0_REGNUM, &val);
|
||||
return val;
|
||||
}
|
||||
|
||||
/* Exported procedure: Is PC in the signal trampoline code */
|
||||
|
Loading…
Reference in New Issue
Block a user