diff options
author | Thiemo Seufer <ths@networkno.de> | 2007-11-17 13:38:57 +0000 |
---|---|---|
committer | Thiemo Seufer <ths@networkno.de> | 2007-11-17 13:38:57 +0000 |
commit | 7c874de4c1fdf38595a04595a865a85f54499552 (patch) | |
tree | 6ef818d16e1e1434bbb86d029cf8dd43f268467b /bfd | |
parent | 5c67bf5799a54ba155f550bd1d9121fce294228a (diff) | |
download | gdb-7c874de4c1fdf38595a04595a865a85f54499552.tar.gz |
[ld/testsuite/ChangeLog]
* ld-mips-elf/attr-gnu-4-14.d, ld-mips-elf/attr-gnu-4-41.d:
Adjust warning message for -mfp64 flag.
* ld-mips-elf/attr-gnu-4-5.s, ld-mips-elf/attr-gnu-4-04.d,
ld-mips-elf/attr-gnu-4-51.d, ld-mips-elf/attr-gnu-4-05.d,
ld-mips-elf/attr-gnu-4-15.d, ld-mips-elf/attr-gnu-4-24.d,
ld-mips-elf/attr-gnu-4-25.d, ld-mips-elf/attr-gnu-4-34.d,
ld-mips-elf/attr-gnu-4-35.d, ld-mips-elf/attr-gnu-4-42.d,
ld-mips-elf/attr-gnu-4-43.d, ld-mips-elf/attr-gnu-4-44.d,
ld-mips-elf/attr-gnu-4-45.d, ld-mips-elf/attr-gnu-4-40.d,
ld-mips-elf/attr-gnu-4-14.d: New testcases files.
* ld-mips-elf/mips-elf.exp: Run new testcases.
[binutils/ChangeLog]
* readelf.c (display_mips_gnu_attribute): Recognize -mips32r2 -mfp64
objects.
[include/ChangeLog]
* elf/mips.h (Tag_GNU_MIPS_ABI_FP): Mention -mips32r2 -mfp64 variant
in comment.
[bfd/ChangeLog]
* elfxx-mips.c (mips_elf_merge_obj_attributes): Handle -mips32r2
-mfp64 attribute.
[gas/ChangeLog]
* doc/as.texinfo: Document the new attribute value.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elfxx-mips.c | 43 |
2 files changed, 46 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 07b29bdabf9..abdf1153eb7 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2007-11-17 Thiemo Seufer <ths@mips.com> + + * elfxx-mips.c (mips_elf_merge_obj_attributes): Handle -mips32r2 + -mfp64 attribute. + 2007-11-16 Nick Clifton <nickc@redhat.com> * elf-m10300.c (mn10300_elf_check_relocs): Fix memory leak and diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 470bed9e37a..f674e1374f4 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -11325,11 +11325,11 @@ mips_elf_merge_obj_attributes (bfd *ibfd, bfd *obfd) out_attr[Tag_GNU_MIPS_ABI_FP].i = in_attr[Tag_GNU_MIPS_ABI_FP].i; else if (in_attr[Tag_GNU_MIPS_ABI_FP].i == 0) ; - else if (in_attr[Tag_GNU_MIPS_ABI_FP].i > 3) + else if (in_attr[Tag_GNU_MIPS_ABI_FP].i > 4) _bfd_error_handler (_("Warning: %B uses unknown floating point ABI %d"), ibfd, in_attr[Tag_GNU_MIPS_ABI_FP].i); - else if (out_attr[Tag_GNU_MIPS_ABI_FP].i > 3) + else if (out_attr[Tag_GNU_MIPS_ABI_FP].i > 4) _bfd_error_handler (_("Warning: %B uses unknown floating point ABI %d"), obfd, out_attr[Tag_GNU_MIPS_ABI_FP].i); @@ -11351,6 +11351,12 @@ mips_elf_merge_obj_attributes (bfd *ibfd, bfd *obfd) obfd, ibfd); break; + case 4: + _bfd_error_handler + (_("Warning: %B uses -msingle-float, %B uses -mips32r2 -mfp64"), + obfd, ibfd); + break; + default: abort (); } @@ -11371,6 +11377,12 @@ mips_elf_merge_obj_attributes (bfd *ibfd, bfd *obfd) obfd, ibfd); break; + case 4: + _bfd_error_handler + (_("Warning: %B uses -mdouble-float, %B uses -mips32r2 -mfp64"), + obfd, ibfd); + break; + default: abort (); } @@ -11381,6 +11393,7 @@ mips_elf_merge_obj_attributes (bfd *ibfd, bfd *obfd) { case 1: case 2: + case 4: _bfd_error_handler (_("Warning: %B uses hard float, %B uses soft float"), ibfd, obfd); @@ -11391,6 +11404,32 @@ mips_elf_merge_obj_attributes (bfd *ibfd, bfd *obfd) } break; + case 4: + switch (in_attr[Tag_GNU_MIPS_ABI_FP].i) + { + case 1: + _bfd_error_handler + (_("Warning: %B uses -msingle-float, %B uses -mips32r2 -mfp64"), + ibfd, obfd); + break; + + case 2: + _bfd_error_handler + (_("Warning: %B uses -mdouble-float, %B uses -mips32r2 -mfp64"), + ibfd, obfd); + break; + + case 3: + _bfd_error_handler + (_("Warning: %B uses hard float, %B uses soft float"), + obfd, ibfd); + break; + + default: + abort (); + } + break; + default: abort (); } |