2009-11-13 Tristan Gingold <gingold@adacore.com>
* avr-tdep.c (avr_push_dummy_call): Fix endianness issue and avoid overlap between returned structure and return address/parameters.
This commit is contained in:
parent
2fa5542646
commit
fd6d681553
@ -1,3 +1,8 @@
|
|||||||
|
2009-11-13 Tristan Gingold <gingold@adacore.com>
|
||||||
|
|
||||||
|
* avr-tdep.c (avr_push_dummy_call): Fix endianness issue and avoid
|
||||||
|
overlap between returned structure and return address/parameters.
|
||||||
|
|
||||||
2009-11-12 Daniel Jacobowitz <dan@codesourcery.com>
|
2009-11-12 Daniel Jacobowitz <dan@codesourcery.com>
|
||||||
|
|
||||||
* remote-fileio.c (remote_fileio_func_read): Limit console
|
* remote-fileio.c (remote_fileio_func_read): Limit console
|
||||||
|
@ -1252,10 +1252,14 @@ avr_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
|
|||||||
|
|
||||||
if (struct_return)
|
if (struct_return)
|
||||||
{
|
{
|
||||||
regcache_cooked_write_unsigned (regcache, regnum--,
|
regcache_cooked_write_unsigned
|
||||||
struct_addr & 0xff);
|
(regcache, regnum--, (struct_addr >> 8) & 0xff);
|
||||||
regcache_cooked_write_unsigned (regcache, regnum--,
|
regcache_cooked_write_unsigned
|
||||||
(struct_addr >> 8) & 0xff);
|
(regcache, regnum--, struct_addr & 0xff);
|
||||||
|
/* SP being post decremented, we need to reserve one byte so that the
|
||||||
|
return address won't overwrite the result (or vice-versa). */
|
||||||
|
if (sp == struct_addr)
|
||||||
|
sp--;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < nargs; i++)
|
for (i = 0; i < nargs; i++)
|
||||||
|
Loading…
Reference in New Issue
Block a user