diff options
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/config/mn10200/tm-mn10200.h | 8 |
2 files changed, 14 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index bbf86fc..b12ff40 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +Wed Apr 23 11:18:45 1997 Jeffrey A Law (law@cygnus.com) + + * config/mn10200/tm-mn10200.h (STORE_RETURN_VALUE): Pointers are + returned in $a0. + (EXTRACT_RETURN_VALUE): Likewise. + Tue Apr 22 11:58:15 1997 Fred Fish <fnf@cygnus.com> * config/arm/tm-arm.h (TARGET_DOUBLE_FORMAT): Define to use diff --git a/gdb/config/mn10200/tm-mn10200.h b/gdb/config/mn10200/tm-mn10200.h index 9977fde..dfe95cb 100644 --- a/gdb/config/mn10200/tm-mn10200.h +++ b/gdb/config/mn10200/tm-mn10200.h @@ -129,6 +129,10 @@ extern CORE_ADDR mn10200_frame_saved_pc PARAMS ((struct frame_info *)); memcpy (VALBUF, REGBUF + REGISTER_BYTE (0), 2); \ memcpy (VALBUF + 2, REGBUF + REGISTER_BYTE (1), 2); \ } \ + else 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)); \ @@ -148,6 +152,10 @@ extern CORE_ADDR mn10200_frame_saved_pc PARAMS ((struct frame_info *)); write_register_bytes (REGISTER_BYTE (0), VALBUF, 2); \ write_register_bytes (REGISTER_BYTE (1), VALBUF + 2, 2); \ } \ + else 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)); \ |