diff options
author | Jim Blandy <jimb@codesourcery.com> | 2004-03-26 20:59:38 +0000 |
---|---|---|
committer | Jim Blandy <jimb@codesourcery.com> | 2004-03-26 20:59:38 +0000 |
commit | 81a07a45e4d3f88ff26d279d5a65bca404e4bc2e (patch) | |
tree | 69cced7fd2af381e81bebbbfbb4de924e5181c1d | |
parent | 8c691c7a43c3d7fe63246221fcc71f334e12eb21 (diff) | |
download | gdb-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/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/ppc-linux-tdep.c | 9 |
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 |