forked from Imagelibrary/binutils-gdb
* 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.
This commit is contained in:
@@ -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 */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user