* config/mn10300/tm-mn10300.h (STORE_RETURN_VALUE): Pointers are
returned in $a0. (EXTRACT_RETURN_VALUE): Likewise. * mn10300-tdep.c (mn10300_analyze_prologue): Check for a return insn at "pc", not "fi->pc".
This commit is contained in:
parent
abe293a0c6
commit
726229db59
2 changed files with 18 additions and 2 deletions
|
@ -1,3 +1,12 @@
|
|||
Thu Apr 24 13:31:10 1997 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* config/mn10300/tm-mn10300.h (STORE_RETURN_VALUE): Pointers are
|
||||
returned in $a0.
|
||||
(EXTRACT_RETURN_VALUE): Likewise.
|
||||
|
||||
* mn10300-tdep.c (mn10300_analyze_prologue): Check for a return
|
||||
insn at "pc", not "fi->pc".
|
||||
|
||||
start-sanitize-tic80
|
||||
Thu Apr 24 16:11:47 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
||||
|
||||
|
|
|
@ -97,14 +97,21 @@ extern CORE_ADDR mn10300_frame_saved_pc PARAMS ((struct frame_info *));
|
|||
into VALBUF. */
|
||||
|
||||
#define EXTRACT_RETURN_VALUE(TYPE, REGBUF, VALBUF) \
|
||||
memcpy (VALBUF, REGBUF + REGISTER_BYTE (0), TYPE_LENGTH (TYPE))
|
||||
if (TYPE_CODE (TYPE) == TYPE_CODE_PTR) \
|
||||
memcpy (VALBUF, REGBUF + REGISTER_BYTE (4), TYPE_LENGTH (TYPE)); \
|
||||
else \
|
||||
memcpy (VALBUF, REGBUF + REGISTER_BYTE (0), TYPE_LENGTH (TYPE));
|
||||
|
||||
|
||||
#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) \
|
||||
extract_address (REGBUF + REGISTER_BYTE (0), \
|
||||
REGISTER_RAW_SIZE (0))
|
||||
|
||||
#define STORE_RETURN_VALUE(TYPE, VALBUF) \
|
||||
write_register_bytes(REGISTER_BYTE (0), VALBUF, TYPE_LENGTH (TYPE));
|
||||
if (TYPE_CODE (TYPE) == TYPE_CODE_PTR) \
|
||||
write_register_bytes(REGISTER_BYTE (4), VALBUF, TYPE_LENGTH (TYPE)); \
|
||||
else \
|
||||
write_register_bytes(REGISTER_BYTE (0), VALBUF, TYPE_LENGTH (TYPE));
|
||||
|
||||
#define STORE_STRUCT_RETURN(STRUCT_ADDR, SP) \
|
||||
(SP) = mn10300_store_struct_return (STRUCT_ADDR, SP)
|
||||
|
|
Loading…
Reference in a new issue