diff options
author | Richard Henderson <rth@redhat.com> | 2003-06-02 16:16:14 +0000 |
---|---|---|
committer | Richard Henderson <rth@redhat.com> | 2003-06-02 16:16:14 +0000 |
commit | 24064b5c1ab4fa4336174d8eb934de57f1626d82 (patch) | |
tree | dfb17722f8e666d72a1798a09d94852c16b888c4 /gdb/alpha-tdep.c | |
parent | 5ec2bb9908ec276ed4a00191f44e1b63bd1e4bac (diff) | |
download | fsf-binutils-gdb-24064b5c1ab4fa4336174d8eb934de57f1626d82.zip fsf-binutils-gdb-24064b5c1ab4fa4336174d8eb934de57f1626d82.tar.gz fsf-binutils-gdb-24064b5c1ab4fa4336174d8eb934de57f1626d82.tar.bz2 |
* alpha-tdep.c (alpha_extract_return_value): Handle IEEE Quad floats.
(alpha_store_return_value): Error on IEEE Quad floats.
Diffstat (limited to 'gdb/alpha-tdep.c')
-rw-r--r-- | gdb/alpha-tdep.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c index c45e659..e97ff30 100644 --- a/gdb/alpha-tdep.c +++ b/gdb/alpha-tdep.c @@ -401,6 +401,11 @@ alpha_extract_return_value (struct type *valtype, struct regcache *regcache, 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 *valtype, struct regcache *regcache, 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 (); } |