aboutsummaryrefslogtreecommitdiff
path: root/gdb/ppc-linux-tdep.c
diff options
context:
space:
mode:
authorJim Blandy <jimb@codesourcery.com>2004-03-26 20:59:38 +0000
committerJim Blandy <jimb@codesourcery.com>2004-03-26 20:59:38 +0000
commit81a07a45e4d3f88ff26d279d5a65bca404e4bc2e (patch)
tree69cced7fd2af381e81bebbbfbb4de924e5181c1d /gdb/ppc-linux-tdep.c
parent8c691c7a43c3d7fe63246221fcc71f334e12eb21 (diff)
downloadfsf-binutils-gdb-81a07a45e4d3f88ff26d279d5a65bca404e4bc2e.zip
fsf-binutils-gdb-81a07a45e4d3f88ff26d279d5a65bca404e4bc2e.tar.gz
fsf-binutils-gdb-81a07a45e4d3f88ff26d279d5a65bca404e4bc2e.tar.bz2
* ppc-linux-tdep.c (ppc_linux_init_abi): Long doubles are eight
bytes long on PPC GNU/Linux.
Diffstat (limited to 'gdb/ppc-linux-tdep.c')
-rw-r--r--gdb/ppc-linux-tdep.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c
index ba2733e..c2223d2 100644
--- a/gdb/ppc-linux-tdep.c
+++ b/gdb/ppc-linux-tdep.c
@@ -1076,6 +1076,15 @@ ppc_linux_init_abi (struct gdbarch_info info,
if (tdep->wordsize == 4)
{
+ /* NOTE: jimb/2004-03-26: The System V ABI PowerPC Processor
+ Supplement says that long doubles are sixteen bytes long.
+ However, as one of the known warts of its ABI, PPC GNU/Linux
+ uses eight-byte long doubles. GCC only recently got 128-bit
+ long double support on PPC, so it may be changing soon. The
+ Linux Standards Base says that programs that use 'long
+ double' on PPC GNU/Linux are non-conformant. */
+ set_gdbarch_long_double_bit (gdbarch, 8 * TARGET_CHAR_BIT);
+
/* Until November 2001, gcc did not comply with the 32 bit SysV
R4 ABI requirement that structures less than or equal to 8
bytes should be returned in registers. Instead GCC was using