mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 06:39:05 +08:00
* amd64-tdep.c (amd64_return_value): Use TYPE_LENGTH directly.
* bfin-tdep.c (bfin_extract_return_value): Likewise. (bfin_store_return_value): Likewise. * cris-tdep.c (cris_store_return_value): Likewise. (cris_extract_return_value): Likewise. * h8300-tdep.c (h8300_extract_return_value): Likewise. * hppa-tdep.c (hppa64_return_value): Likewise. * lm32-tdep.c (lm32_store_return_value): Likewise. * microblaze-tdep.c (microblaze_store_return_value): Likewise. * spu-tdep.c (spu_value_from_register): Likewise. * vax-tdep.c (vax_return_value): Likewise.
This commit is contained in:
@ -590,22 +590,21 @@ static void
|
||||
microblaze_store_return_value (struct type *type, struct regcache *regcache,
|
||||
const gdb_byte *valbuf)
|
||||
{
|
||||
int len = TYPE_LENGTH (type);
|
||||
gdb_byte buf[8];
|
||||
|
||||
memset (buf, 0, sizeof(buf));
|
||||
|
||||
/* Integral and pointer return values. */
|
||||
|
||||
if (len > 4)
|
||||
if (TYPE_LENGTH (type) > 4)
|
||||
{
|
||||
gdb_assert (len == 8);
|
||||
gdb_assert (TYPE_LENGTH (type) == 8);
|
||||
memcpy (buf, valbuf, 8);
|
||||
regcache_cooked_write (regcache, MICROBLAZE_RETVAL_REGNUM+1, buf + 4);
|
||||
}
|
||||
else
|
||||
/* ??? Do we need to do any sign-extension here? */
|
||||
memcpy (buf + 4 - len, valbuf, len);
|
||||
memcpy (buf + 4 - TYPE_LENGTH (type), valbuf, TYPE_LENGTH (type));
|
||||
|
||||
regcache_cooked_write (regcache, MICROBLAZE_RETVAL_REGNUM, buf);
|
||||
}
|
||||
|
Reference in New Issue
Block a user