diff options
author | Alan Modra <amodra@gmail.com> | 2008-07-26 13:10:48 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2008-07-26 13:10:48 +0000 |
commit | 3c7b98977c0b44c19630cb2d6b699e90ba294e52 (patch) | |
tree | 9e45df98d39889a8008eea788918356e4889c7c7 /bfd | |
parent | d72314c67b7cc65ae935ad3dd80a6b1840b57d1a (diff) | |
download | gdb-3c7b98977c0b44c19630cb2d6b699e90ba294e52.zip gdb-3c7b98977c0b44c19630cb2d6b699e90ba294e52.tar.gz gdb-3c7b98977c0b44c19630cb2d6b699e90ba294e52.tar.bz2 |
Support PowerPC single-precision float.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf32-ppc.c | 16 |
2 files changed, 19 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 23b8d93..02dbbb1 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2008-07-26 Michael Eager <eager@eagercon.com> + + * elf32-ppc.c (ppc_elf_merge_obj_attributes): Check compatibility + between single-float, double-float, and soft-float. + 2008-07-24 Daniel Jacobowitz <dan@codesourcery.com> * elf32-mips.c (elf_backend_write_section): Define. 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); |