diff options
author | Mark Alexander <marka@cygnus> | 1998-07-24 20:38:43 +0000 |
---|---|---|
committer | Mark Alexander <marka@cygnus> | 1998-07-24 20:38:43 +0000 |
commit | bd06c4e4d32a233b504e8b95a76c8b282ab6aa44 (patch) | |
tree | 9121dd967f55ce0fe43cbfe7f44cc0bac04292ac /gdb | |
parent | 3a66870a3eca92510f2454d09e2046c0fa733254 (diff) | |
download | gdb-bd06c4e4d32a233b504e8b95a76c8b282ab6aa44.zip gdb-bd06c4e4d32a233b504e8b95a76c8b282ab6aa44.tar.gz gdb-bd06c4e4d32a233b504e8b95a76c8b282ab6aa44.tar.bz2 |
* config/i386/tm-i386.h (STORE_STRUCT_RETURN): Make it
work on hosts of any endianness.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/config/i386/tm-i386.h | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 8a5e7c6..12caaa5 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +Fri Jul 24 13:32:46 1998 Mark Alexander <marka@cygnus.com> + + * config/i386/tm-i386.h (STORE_STRUCT_RETURN): Make it + work on hosts of any endianness. + Fri Jul 24 07:41:12 1998 Mark Alexander <marka@cygnus.com> * mn10300-tdep.c (set_movm_offsets): New helper function diff --git a/gdb/config/i386/tm-i386.h b/gdb/config/i386/tm-i386.h index 8f8090b..0bf3109 100644 --- a/gdb/config/i386/tm-i386.h +++ b/gdb/config/i386/tm-i386.h @@ -158,8 +158,10 @@ extern int i386_skip_prologue PARAMS ((int)); subroutine will return. This is called from call_function. */ #define STORE_STRUCT_RETURN(ADDR, SP) \ - { (SP) -= sizeof (ADDR); \ - write_memory ((SP), (char *) &(ADDR), sizeof (ADDR)); } + { char buf[REGISTER_SIZE]; \ + (SP) -= sizeof (ADDR); \ + store_address (buf, sizeof (ADDR), ADDR); \ + write_memory ((SP), buf, sizeof (ADDR)); } /* Extract from an array REGBUF containing the (raw) register state a function return value of type TYPE, and copy that, in virtual format, |