diff options
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/i386-tdep.c | 11 |
2 files changed, 14 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 71cc4d3..b9f8a50 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2001-04-04 Mark Kettenis <kettenis@gnu.org> + + * i386-tdep.c (i386_extract_return_value): Don't return the return + value of a void function. + (i386_store_return_value): Likewise. + 2001-04-03 Andrew Cagney <ac131313@redhat.com> Obsolete w65-*-* target. diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c index 1090cbe..49cc796 100644 --- a/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c @@ -735,8 +735,10 @@ i386_extract_return_value (struct type *type, char *regbuf, char *valbuf) if (TYPE_CODE (type) == TYPE_CODE_STRUCT && TYPE_NFIELDS (type) == 1) - return i386_extract_return_value (TYPE_FIELD_TYPE (type, 0), - regbuf, valbuf); + { + i386_extract_return_value (TYPE_FIELD_TYPE (type, 0), regbuf, valbuf); + return; + } if (TYPE_CODE (type) == TYPE_CODE_FLT) { @@ -798,7 +800,10 @@ i386_store_return_value (struct type *type, char *valbuf) if (TYPE_CODE (type) == TYPE_CODE_STRUCT && TYPE_NFIELDS (type) == 1) - return i386_store_return_value (TYPE_FIELD_TYPE (type, 0), valbuf); + { + i386_store_return_value (TYPE_FIELD_TYPE (type, 0), valbuf); + return; + } if (TYPE_CODE (type) == TYPE_CODE_FLT) { |