summaryrefslogtreecommitdiff
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
commit2922faeecf5bc41555a2527ff77a6377217a17ee (patch)
treed268d982a719fcb9ccd002793030a36ac93f9961 /gdb/ppc-linux-tdep.c
parent8b043c2b880be7f8047509dd49cf53a849c5fb83 (diff)
downloadgdb-2922faeecf5bc41555a2527ff77a6377217a17ee.tar.gz
* 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 ba2733ee717..c2223d29fc3 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