OSDN Git Service

* ppc-linux-tdep.c (ppc_linux_init_abi): Long doubles are eight
authorjimb <jimb>
Fri, 26 Mar 2004 20:59:36 +0000 (20:59 +0000)
committerjimb <jimb>
Fri, 26 Mar 2004 20:59:36 +0000 (20:59 +0000)
bytes long on PPC GNU/Linux.

gdb/ChangeLog
gdb/ppc-linux-tdep.c

index 954f879..9ff8846 100644 (file)
@@ -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.
index ba2733e..c2223d2 100644 (file)
@@ -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