aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorThiemo Seufer <ths@networkno.de>2007-11-17 13:38:57 +0000
committerThiemo Seufer <ths@networkno.de>2007-11-17 13:38:57 +0000
commit42554f6a08d8282c408f7932ade77735b18b2f8b (patch)
tree2980cb9807de09d87cb4f47477ecce0ea211da09 /bfd
parent3b784c4f87621b9633adb0d2e360cd4ac2909503 (diff)
downloadgdb-42554f6a08d8282c408f7932ade77735b18b2f8b.zip
gdb-42554f6a08d8282c408f7932ade77735b18b2f8b.tar.gz
gdb-42554f6a08d8282c408f7932ade77735b18b2f8b.tar.bz2
[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/ChangeLog5
-rw-r--r--bfd/elfxx-mips.c43
2 files changed, 46 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 07b29bd..abdf115 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 470bed9..f674e13 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 ();
}