aboutsummaryrefslogtreecommitdiff
path: root/gdb/config/sparc
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2003-05-25 11:58:08 +0000
committerMark Kettenis <kettenis@gnu.org>2003-05-25 11:58:08 +0000
commit44b7b84e5137ca6ce740af768707d2354546ca5e (patch)
tree3c314f9772a9dd50ebb2962a349dad7992836d8c /gdb/config/sparc
parentc9373d2edfb2c542dc164d0797c4b21919a81554 (diff)
downloadgdb-44b7b84e5137ca6ce740af768707d2354546ca5e.zip
gdb-44b7b84e5137ca6ce740af768707d2354546ca5e.tar.gz
gdb-44b7b84e5137ca6ce740af768707d2354546ca5e.tar.bz2
* sparc-tdep.c (SPARC_F0_REGNUM, SPARC_F1_REGNUM, SPARC_O0_REGNUM,
SPARC_O1_REGNUM): New defines. (sparc32_extract_return_value): Rewrite to operate on a regcache. (sparc32_store_return_value): New function. (sparc_extract_struct_value_address): Rewrite to operate on a regcache. (sparc_gdbarch_init): Don't set deprecated_extract_struct_value_address. Set extract_struct_value_address instead. Don't set deprecated_extract_return_value and deprecated_store_return_value for 32-bit targets. Set extract_return_value and store_return_value instead. * config/sparc/tm-sparc.h (DEPRECATED_STORE_RETURN_VALUE, DEPRECTAED_EXTRACT_RETURN_VALUE, DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS): Don't define these. (STORE_RETURN_VALUE, EXTRACT_RETURN_VALUE, EXTRACT_STRUCT_VALUE_ADDRESS): Define these instead. (sparc_store_return_value): Remove prototype. (sparc32_store_return_value): New prototype. (sparc32_extract_return_value, sparc_extract_struct_value_address): Adjust prototypes.
Diffstat (limited to 'gdb/config/sparc')
-rw-r--r--gdb/config/sparc/tm-sparc.h24
1 files changed, 12 insertions, 12 deletions
diff --git a/gdb/config/sparc/tm-sparc.h b/gdb/config/sparc/tm-sparc.h
index ab18477..e51eb63 100644
--- a/gdb/config/sparc/tm-sparc.h
+++ b/gdb/config/sparc/tm-sparc.h
@@ -267,17 +267,16 @@ extern CORE_ADDR sparc_skip_prologue (CORE_ADDR);
/* Write into appropriate registers a function return value of type
TYPE, given in virtual format. */
-#define DEPRECATED_STORE_RETURN_VALUE(TYPE, VALBUF) \
- sparc_store_return_value (TYPE, VALBUF)
-extern void sparc_store_return_value (struct type *, char *);
+#define STORE_RETURN_VALUE(TYPE, REGCACHE, VALBUF) \
+ sparc32_store_return_value (TYPE, REGCACHE, VALBUF)
+extern void sparc32_store_return_value (struct type *, struct regcache *,
+ const void *);
-/* 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). */
-
-#define DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) \
- sparc_extract_struct_value_address (REGBUF)
+/* Extract from REGCACHE the address in which a function should return
+ its structure value. */
+#define EXTRACT_STRUCT_VALUE_ADDRESS(REGCACHE) \
+ sparc_extract_struct_value_address (REGCACHE)
extern CORE_ADDR sparc_extract_struct_value_address (char *);
/* Stack must be aligned on 64-bit boundaries when synthesizing
@@ -668,9 +667,10 @@ extern CORE_ADDR sparc32_push_arguments (int, struct value **, CORE_ADDR, int,
function return value of type TYPE, and copy that, in virtual
format, into VALBUF. */
-#define DEPRECATED_EXTRACT_RETURN_VALUE(TYPE, REGBUF, VALBUF) \
- sparc32_extract_return_value (TYPE, REGBUF, VALBUF)
-extern void sparc32_extract_return_value (struct type *, char[], char *);
+#define EXTRACT_RETURN_VALUE(TYPE, REGCACHE, VALBUF) \
+ sparc32_extract_return_value (TYPE, REGCACHE, VALBUF)
+extern void sparc32_extract_return_value (struct type *, struct regcache *,
+ void *valbuf);
#endif /* GDB_MULTI_ARCH */