diff options
author | Alan Modra <amodra@bigpond.net.au> | 2008-07-26 13:10:48 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2008-07-26 13:10:48 +0000 |
commit | de595abed9afa8564a7667332ce8b067c49969f1 (patch) | |
tree | 4d4dd1978680884d9cada0141a329359c063b115 /bfd/elf32-ppc.c | |
parent | 8e3aac0e48e55d4a4361c7a0ebea1f8af31d7129 (diff) | |
download | binutils-redhat-de595abed9afa8564a7667332ce8b067c49969f1.tar.gz |
Support PowerPC single-precision float.
Diffstat (limited to 'bfd/elf32-ppc.c')
-rw-r--r-- | bfd/elf32-ppc.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index 92f812fda3..22b90b26a4 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -3883,10 +3883,22 @@ ppc_elf_merge_obj_attributes (bfd *ibfd, bfd *obfd) else if (out_attr->i == 1 && in_attr->i == 2) _bfd_error_handler (_("Warning: %B uses hard float, %B uses soft float"), obfd, ibfd); - else if (out_attr->i == 2 && in_attr->i == 1) + else if (out_attr->i == 1 && in_attr->i == 3) + _bfd_error_handler + (_("Warning: %B uses double-precision hard float, %B uses single-precision hard float"), + obfd, ibfd); + else if (out_attr->i == 3 && in_attr->i == 1) + _bfd_error_handler + (_("Warning: %B uses double-precision hard float, %B uses single-precision hard float"), + ibfd, obfd); + else if (out_attr->i == 3 && in_attr->i == 2) + _bfd_error_handler + (_("Warning: %B uses soft float, %B uses single-precision hard float"), + ibfd, obfd); + else if (out_attr->i == 2 && (in_attr->i == 1 || in_attr->i == 3)) _bfd_error_handler (_("Warning: %B uses hard float, %B uses soft float"), ibfd, obfd); - else if (in_attr->i > 2) + else if (in_attr->i > 3) _bfd_error_handler (_("Warning: %B uses unknown floating point ABI %d"), ibfd, in_attr->i); |