diff options
-rw-r--r-- | gdb/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/s390-tdep.c | 15 |
2 files changed, 5 insertions, 14 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1921854..5f245cc 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,9 @@ 2001-11-14 Jim Blandy <jimb@redhat.com> + * 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 2e78f2a..632261e 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; |