This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[RFA] update return value hooks for 128-bit floats
- From: Richard Henderson <rth at twiddle dot net>
- To: gdb-patches at sources dot redhat dot com
- Date: Sun, 1 Jun 2003 22:34:03 -0700
- Subject: [RFA] update return value hooks for 128-bit floats
Ok?
r~
* alpha-tdep.c (alpha_extract_return_value): Handle IEEE Quad floats.
(alpha_store_return_value): Error on IEEE Quad floats.
--- alpha-tdep.c.3 2003-06-01 22:20:17.000000000 -0700
+++ alpha-tdep.c 2003-06-01 22:24:21.000000000 -0700
@@ -401,6 +401,11 @@ alpha_extract_return_value (struct type
regcache_cooked_read (regcache, ALPHA_FP0_REGNUM, valbuf);
break;
+ case 16:
+ regcache_cooked_read_unsigned (regcache, ALPHA_V0_REGNUM, &l);
+ read_memory (l, valbuf, 16);
+ break;
+
default:
abort ();
}
@@ -450,6 +455,12 @@ alpha_store_return_value (struct type *v
regcache_cooked_write (regcache, ALPHA_FP0_REGNUM, valbuf);
break;
+ case 16:
+ /* FIXME: 128-bit long doubles are returned like structures:
+ by writing into indirect storage provided by the caller
+ as the first argument. */
+ error ("Cannot set a 128-bit long double return value.");
+
default:
abort ();
}