aboutsummaryrefslogtreecommitdiff
path: root/gdb/config/i386/tm-i386.h
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/config/i386/tm-i386.h')
-rw-r--r--gdb/config/i386/tm-i386.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/gdb/config/i386/tm-i386.h b/gdb/config/i386/tm-i386.h
index 9417b77..a7841b5 100644
--- a/gdb/config/i386/tm-i386.h
+++ b/gdb/config/i386/tm-i386.h
@@ -305,15 +305,18 @@ extern void i386_extract_return_value (struct type *type, char *regbuf,
/* Write into the appropriate registers a function return value stored
in VALBUF of type TYPE, given in virtual format. */
+
#define STORE_RETURN_VALUE(type, valbuf) \
i386_store_return_value ((type), (valbuf))
extern void i386_store_return_value (struct type *type, char *valbuf);
-/* Extract from an array REGBUF containing the (raw) register state the address
- in which a function should return its structure value, as a CORE_ADDR (or an
- expression that can be used as one). */
+/* Extract from an array REGBUF containing the (raw) register state
+ the address in which a function should return its structure value,
+ as a CORE_ADDR. */
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(int *)(REGBUF))
+#define EXTRACT_STRUCT_VALUE_ADDRESS(regbuf) \
+ i386_extract_struct_value_address ((regbuf))
+extern CORE_ADDR i386_extract_struct_value_address (char *regbuf);
/* The following redefines make backtracing through sigtramp work.
They manufacture a fake sigtramp frame and obtain the saved pc in sigtramp