diff options
author | Stu Grossman <grossman@cygnus> | 1991-10-26 01:06:16 +0000 |
---|---|---|
committer | Stu Grossman <grossman@cygnus> | 1991-10-26 01:06:16 +0000 |
commit | 5ab580ccf8a55393e038e4c9e90cd57b43e5f02c (patch) | |
tree | 4ec29d84fb8bb33a41ca62a4f55403f09ac61137 /gdb | |
parent | eb3f3e5c6a55d6aad517de6090239af6d9d48c4b (diff) | |
download | gdb-5ab580ccf8a55393e038e4c9e90cd57b43e5f02c.zip gdb-5ab580ccf8a55393e038e4c9e90cd57b43e5f02c.tar.gz gdb-5ab580ccf8a55393e038e4c9e90cd57b43e5f02c.tar.bz2 |
* tm-sparc.h, tm-68k.h (EXTRACT_RETURN_VALUE): fix output of
short return values for sparc and 68k. Patch from Paul Eggert.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 3 | ||||
-rw-r--r-- | gdb/tm-68k.h | 4 | ||||
-rw-r--r-- | gdb/tm-sparc.h | 4 |
3 files changed, 9 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 006f86d..89099cd 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,8 @@ Fri Oct 25 16:06:38 1991 Stu Grossman (grossman at cygnus.com) + * tm-sparc.h, tm-68k.h (EXTRACT_RETURN_VALUE): fix output of + short return values for sparc and 68k. Patch from Paul Eggert. + * coffread.c, coredep.c, i386-xdep.c: install patches for SysV/386 3.2 from Mauro DePalma. diff --git a/gdb/tm-68k.h b/gdb/tm-68k.h index d89f23d..f501495 100644 --- a/gdb/tm-68k.h +++ b/gdb/tm-68k.h @@ -275,7 +275,9 @@ extern struct ext_format ext_format_68881; #if !defined (EXTRACT_RETURN_VALUE) #define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \ - bcopy (REGBUF, VALBUF, TYPE_LENGTH (TYPE)) + bcopy ((char *)(REGBUF) + \ + (TYPE_LENGTH(TYPE) >= 4 ? 0 : 4 - TYPE_LENGTH(TYPE)), \ + VALBUF, TYPE_LENGTH(TYPE)) #endif /* Write into appropriate registers a function return value diff --git a/gdb/tm-sparc.h b/gdb/tm-sparc.h index d89781b..866788b 100644 --- a/gdb/tm-sparc.h +++ b/gdb/tm-sparc.h @@ -267,7 +267,9 @@ extern CORE_ADDR sparc_pc_adjust(); (VALBUF), TYPE_LENGTH(TYPE)); \ } \ else \ - bcopy (((int *)(REGBUF))+8, (VALBUF), TYPE_LENGTH (TYPE)); \ + bcopy ((char *)(REGBUF) + 4 * 8 + \ + (TYPE_LENGTH(TYPE) >= 4 ? 0 : 4 - TYPE_LENGTH(TYPE)), \ + (VALBUF), TYPE_LENGTH(TYPE)); \ } /* Write into appropriate registers a function return value |