From 0598a43c3b6138150ce85c0b14fd7eee8efcc44e Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Tue, 25 Jan 2005 22:06:59 +0000 Subject: [PATCH] 2005-01-25 Andrew Cagney * ppc-linux-tdep.c (ppc_linux_init_abi): Always set long_double_bit to 8. --- gdb/ChangeLog | 5 +++++ gdb/ppc-linux-tdep.c | 19 ++++++++++--------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 31f5253..245e25d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2005-01-25 Andrew Cagney + + * ppc-linux-tdep.c (ppc_linux_init_abi): Always set + long_double_bit to 8. + 2005-01-24 Andrew Cagney * infrun.c (handle_inferior_event): Handle back-to-back and nested diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c index 1c86f0e..12b451c 100644 --- a/gdb/ppc-linux-tdep.c +++ b/gdb/ppc-linux-tdep.c @@ -1025,17 +1025,18 @@ ppc_linux_init_abi (struct gdbarch_info info, { struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); + /* 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[sic] Standards Base says that programs that use 'long + double' on PPC GNU/Linux are non-conformant. */ + /* NOTE: cagney/2005-01-25: True for both 32- and 64-bit. */ + set_gdbarch_long_double_bit (gdbarch, 8 * TARGET_CHAR_BIT); + 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[sic] 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 -- 2.7.4