2005-01-25 Andrew Cagney <cagney@gnu.org>

* ppc-linux-tdep.c (ppc_linux_init_abi): Always set
        long_double_bit to 8.
This commit is contained in:
Andrew Cagney 2005-01-25 22:06:59 +00:00
parent 90219bd0f3
commit 0598a43c3b
2 changed files with 15 additions and 9 deletions

View File

@ -1,3 +1,8 @@
2005-01-25 Andrew Cagney <cagney@gnu.org>
* ppc-linux-tdep.c (ppc_linux_init_abi): Always set
long_double_bit to 8.
2005-01-24 Andrew Cagney <cagney@gnu.org> 2005-01-24 Andrew Cagney <cagney@gnu.org>
* infrun.c (handle_inferior_event): Handle back-to-back and nested * infrun.c (handle_inferior_event): Handle back-to-back and nested

View File

@ -1025,17 +1025,18 @@ ppc_linux_init_abi (struct gdbarch_info info,
{ {
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
if (tdep->wordsize == 4)
{
/* NOTE: jimb/2004-03-26: The System V ABI PowerPC Processor /* NOTE: jimb/2004-03-26: The System V ABI PowerPC Processor
Supplement says that long doubles are sixteen bytes long. Supplement says that long doubles are sixteen bytes long.
However, as one of the known warts of its ABI, PPC GNU/Linux However, as one of the known warts of its ABI, PPC GNU/Linux uses
uses eight-byte long doubles. GCC only recently got 128-bit eight-byte long doubles. GCC only recently got 128-bit long
long double support on PPC, so it may be changing soon. The double support on PPC, so it may be changing soon. The
Linux[sic] Standards Base says that programs that use 'long Linux[sic] Standards Base says that programs that use 'long
double' on PPC GNU/Linux are non-conformant. */ 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); set_gdbarch_long_double_bit (gdbarch, 8 * TARGET_CHAR_BIT);
if (tdep->wordsize == 4)
{
/* Until November 2001, gcc did not comply with the 32 bit SysV /* Until November 2001, gcc did not comply with the 32 bit SysV
R4 ABI requirement that structures less than or equal to 8 R4 ABI requirement that structures less than or equal to 8
bytes should be returned in registers. Instead GCC was using bytes should be returned in registers. Instead GCC was using