aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-ppc.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2008-07-26 13:10:48 +0000
committerAlan Modra <amodra@gmail.com>2008-07-26 13:10:48 +0000
commit3c7b98977c0b44c19630cb2d6b699e90ba294e52 (patch)
tree9e45df98d39889a8008eea788918356e4889c7c7 /bfd/elf32-ppc.c
parentd72314c67b7cc65ae935ad3dd80a6b1840b57d1a (diff)
downloadfsf-binutils-gdb-3c7b98977c0b44c19630cb2d6b699e90ba294e52.zip
fsf-binutils-gdb-3c7b98977c0b44c19630cb2d6b699e90ba294e52.tar.gz
fsf-binutils-gdb-3c7b98977c0b44c19630cb2d6b699e90ba294e52.tar.bz2
Support PowerPC single-precision float.
Diffstat (limited to 'bfd/elf32-ppc.c')
-rw-r--r--bfd/elf32-ppc.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c
index 92f812f..22b90b2 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);