* i386-tdep.c (i386_extract_return_value,
authorMark Kettenis <kettenis@gnu.org>
Sat, 19 Apr 2003 14:38:47 +0000 (14:38 +0000)
committerMark Kettenis <kettenis@gnu.org>
Sat, 19 Apr 2003 14:38:47 +0000 (14:38 +0000)
i386_store_return_value): Correct check for availability of
floating-point registers.

gdb/ChangeLog
gdb/i386-tdep.c

index 99a79d834302866df32f21fdf38dcac1f4bab407..fa9446b6fda1adeda8211341251217e1800ad002 100644 (file)
@@ -1,5 +1,9 @@
 2003-04-19  Mark Kettenis  <kettenis@gnu.org>
 
+       * i386-tdep.c (i386_extract_return_value,
+       i386_store_return_value): Correct check for availability of
+       floating-point registers.
+
        * i386-tdep.c (i386_frame_num_args): Remove function.
        (i386_gdbarch_init): Set frame_num_args to frame_num_args_unknown.
 
index 478e79abc30f29be16e61086d6e1aad8b1f2260b..dd30aa53eb86dbe35a4f6e1916f6cef909757b4c 100644 (file)
@@ -892,7 +892,7 @@ i386_extract_return_value (struct type *type, struct regcache *regcache,
 
   if (TYPE_CODE (type) == TYPE_CODE_FLT)
     {
-      if (FP0_REGNUM == 0)
+      if (FP0_REGNUM < 0)
        {
          warning ("Cannot find floating-point return value.");
          memset (valbuf, 0, len);
@@ -950,7 +950,7 @@ i386_store_return_value (struct type *type, struct regcache *regcache,
       ULONGEST fstat;
       char buf[FPU_REG_RAW_SIZE];
 
-      if (FP0_REGNUM == 0)
+      if (FP0_REGNUM < 0)
        {
          warning ("Cannot set floating-point return value.");
          return;