aboutsummaryrefslogtreecommitdiff
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
parent8c691c7a43c3d7fe63246221fcc71f334e12eb21 (diff)
downloadgdb-81a07a45e4d3f88ff26d279d5a65bca404e4bc2e.zip
gdb-81a07a45e4d3f88ff26d279d5a65bca404e4bc2e.tar.gz
gdb-81a07a45e4d3f88ff26d279d5a65bca404e4bc2e.tar.bz2
* ppc-linux-tdep.c (ppc_linux_init_abi): Long doubles are eight
bytes long on PPC GNU/Linux.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/ppc-linux-tdep.c9
2 files changed, 14 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 954f879..9ff8846 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2004-03-26 Jim Blandy <jimb@redhat.com>
+
+ * ppc-linux-tdep.c (ppc_linux_init_abi): Long doubles are eight
+ bytes long on PPC GNU/Linux.
+
2004-03-26 David Carlton <carlton@kealia.com>
* PROBLEMS: Refer to gdb/1588 instead of gdb/826.
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