From: Jim Blandy Date: Wed, 14 Nov 2001 22:29:39 +0000 (+0000) Subject: * s390-tdep.c (s390_extract_return_value): Returned `float' values X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f2c6cfba862c4a82626386344da1864d82214efa;p=binutils-gdb.git * s390-tdep.c (s390_extract_return_value): Returned `float' values can simply be copied bitwise from the registers into the value object's buffer. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1921854fc31..5f245cc7aea 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,9 @@ 2001-11-14 Jim Blandy + * s390-tdep.c (s390_extract_return_value): Returned `float' values + can simply be copied bitwise from the registers into the value + object's buffer. + * s390-tdep.c (s390_get_frame_info): Initialize SP's element of the frame's saved_regs array correctly. diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c index 2e78f2abedf..632261ed1f1 100644 --- a/gdb/s390-tdep.c +++ b/gdb/s390-tdep.c @@ -1010,20 +1010,7 @@ s390_extract_return_value (struct type *valtype, char *regbuf, char *valbuf) int len = TYPE_LENGTH (valtype); if (TYPE_CODE (valtype) == TYPE_CODE_FLT) - { - if (len > (TARGET_FLOAT_BIT >> 3)) - memcpy (valbuf, ®buf[REGISTER_BYTE (S390_FP0_REGNUM)], len); - else - { - /* float */ - DOUBLEST val; - - floatformat_to_doublest (&floatformat_ieee_double_big, - ®buf[REGISTER_BYTE (S390_FP0_REGNUM)], - &val); - store_floating (valbuf, len, val); - } - } + memcpy (valbuf, ®buf[REGISTER_BYTE (S390_FP0_REGNUM)], len); else { int offset = 0;