* config/i386/tm-i386.h (STORE_STRUCT_RETURN): Make it
authorMark Alexander <marka@cygnus>
Fri, 24 Jul 1998 20:38:43 +0000 (20:38 +0000)
committerMark Alexander <marka@cygnus>
Fri, 24 Jul 1998 20:38:43 +0000 (20:38 +0000)
work on hosts of any endianness.

gdb/ChangeLog
gdb/config/i386/tm-i386.h

index 8a5e7c6b7917c5a088b23903e58c532a86aa963c..12caaa579221888ffddc34edf3eb917c3dc30317 100644 (file)
@@ -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
index 8f8090b96f20e3c761a176d5bd2ae2b7d07f51e1..0bf3109cdab49a53350b0f224d3669601f7c46df 100644 (file)
@@ -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,