[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.
This commit is contained in:
Thiemo Seufer
2007-11-17 13:38:57 +00:00
parent 3b784c4f87
commit 42554f6a08
26 changed files with 213 additions and 7 deletions

View File

@ -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

View File

@ -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 ();
}

View File

@ -1,3 +1,8 @@
2007-11-17 Thiemo Seufer <ths@mips.com>
* readelf.c (display_mips_gnu_attribute): Recognize -mips32r2 -mfp64
objects.
2007-11-16 Nick Clifton <nickc@redhat.com>
* dwarf.c (process_extended_line_op): Add cases for HP extensions

View File

@ -8833,6 +8833,9 @@ display_mips_gnu_attribute (unsigned char *p, int tag)
case 3:
printf ("Soft float\n");
break;
case 4:
printf ("64-bit float (-mips32r2 -mfp64)\n");
break;
default:
printf ("??? (%d)\n", val);
break;

View File

@ -1,3 +1,7 @@
2007-11-17 Thiemo Seufer <ths@mips.com>
* doc/as.texinfo: Document the new attribute value.
2007-11-16 Eric B. Weddington <eric.weddington@atmel.com>
* config/tc-avr.c (mcu_types): Add ATmega32HVB device.

View File

@ -6483,6 +6483,10 @@ FPU.
2 for files using the hardware floating-point ABI with a single-precision FPU.
@item
3 for files using the software floating-point ABI.
@item
4 for files using the hardware floating-point ABI with 64-bit wide
double-precision floating-point registers and 32-bit wide general
purpose registers.
@end itemize
@end table

View File

@ -1,3 +1,8 @@
2007-11-17 Thiemo Seufer <ths@mips.com>
* elf/mips.h (Tag_GNU_MIPS_ABI_FP): Mention -mips32r2 -mfp64 variant
in comment.
2007-11-07 Joseph Myers <joseph@codesourcery.com>
Daniel Jacobowitz <dan@codesourcery.com>

View File

@ -1012,9 +1012,9 @@ enum
/* 0-3 are generic. */
Tag_GNU_MIPS_ABI_FP = 4, /* Value 1 for hard-float -mdouble-float, 2
for hard-float -msingle-float, 3 for
soft-float; 0 for not tagged or not
using any ABIs affected by the
differences. */
soft-float, 4 for -mips32r2 -mfp64; 0 for
not tagged or not using any ABIs affected
by the differences. */
};
#endif /* _ELF_MIPS_H */

View File

@ -1,3 +1,17 @@
2007-11-17 Thiemo Seufer <ths@mips.com>
* 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.
2007-11-16 Nick Clifton <nickc@redhat.com>
* ld-mn10300/mn10300.exp: Fix the start address of the .bss

View File

@ -0,0 +1,10 @@
#source: attr-gnu-4-0.s
#source: attr-gnu-4-4.s
#as: -EB -32
#ld: -r -melf32btsmip
#readelf: -A
#target: mips*-*-*
Attribute Section: gnu
File Attributes
Tag_GNU_MIPS_ABI_FP: 64-bit float \(-mips32r2 -mfp64\)

View File

@ -0,0 +1,10 @@
#source: attr-gnu-4-0.s
#source: attr-gnu-4-5.s
#as: -EB -32
#ld: -r -melf32btsmip
#readelf: -A
#target: mips*-*-*
Attribute Section: gnu
File Attributes
Tag_GNU_MIPS_ABI_FP: \?\?\? \(5\)

View File

@ -2,5 +2,5 @@
#source: attr-gnu-4-4.s
#as: -EB -32
#ld: -r -melf32btsmip
#warning: Warning: .* uses unknown floating point ABI 4
#warning: Warning: .* uses -msingle-float, .* uses -mips32r2 -mfp64
#target: mips*-*-*

View File

@ -0,0 +1,11 @@
#source: attr-gnu-4-1.s
#source: attr-gnu-4-5.s
#as: -EB -32
#ld: -r -melf32btsmip
#readelf: -A
#warning: Warning: .* uses unknown floating point ABI 5
#target: mips*-*-*
Attribute Section: gnu
File Attributes
Tag_GNU_MIPS_ABI_FP: Hard float \(-mdouble-float\)

View File

@ -0,0 +1,6 @@
#source: attr-gnu-4-2.s
#source: attr-gnu-4-4.s
#as: -EB -32
#ld: -r -melf32btsmip
#warning: Warning: .* uses -mips32r2 -mfp64
#target: mips*-*-*

View File

@ -0,0 +1,11 @@
#source: attr-gnu-4-2.s
#source: attr-gnu-4-5.s
#as: -EB -32
#ld: -r -melf32btsmip
#readelf: -A
#warning: Warning: .* uses unknown floating point ABI 5
#target: mips*-*-*
Attribute Section: gnu
File Attributes
Tag_GNU_MIPS_ABI_FP: Hard float \(-msingle-float\)

View File

@ -0,0 +1,6 @@
#source: attr-gnu-4-3.s
#source: attr-gnu-4-4.s
#as: -EB -32
#ld: -r -melf32btsmip
#warning: Warning: .* uses hard float, .* uses soft float
#target: mips*-*-*

View File

@ -0,0 +1,11 @@
#source: attr-gnu-4-3.s
#source: attr-gnu-4-5.s
#as: -EB -32
#ld: -r -melf32btsmip
#readelf: -A
#warning: Warning: .* uses unknown floating point ABI 5
#target: mips*-*-*
Attribute Section: gnu
File Attributes
Tag_GNU_MIPS_ABI_FP: Soft float

View File

@ -0,0 +1,10 @@
#source: attr-gnu-4-4.s
#source: attr-gnu-4-0.s
#as: -EB -32
#ld: -r -melf32btsmip
#readelf: -A
#target: mips*-*-*
Attribute Section: gnu
File Attributes
Tag_GNU_MIPS_ABI_FP: 64-bit float \(-mips32r2 -mfp64\)

View File

@ -2,5 +2,5 @@
#source: attr-gnu-4-1.s
#as: -EB -32
#ld: -r -melf32btsmip
#warning: Warning: .* uses unknown floating point ABI 4
#warning: Warning: .* uses -msingle-float, .* uses -mips32r2 -mfp64
#target: mips*-*-*

View File

@ -0,0 +1,6 @@
#source: attr-gnu-4-4.s
#source: attr-gnu-4-2.s
#as: -EB -32
#ld: -r -melf32btsmip
#warning: Warning: .* uses -mips32r2 -mfp64
#target: mips*-*-*

View File

@ -0,0 +1,6 @@
#source: attr-gnu-4-4.s
#source: attr-gnu-4-3.s
#as: -EB -32
#ld: -r -melf32btsmip
#warning: Warning: .* uses hard float, .* uses soft float
#target: mips*-*-*

View File

@ -0,0 +1,10 @@
#source: attr-gnu-4-4.s
#source: attr-gnu-4-4.s
#as: -EB -32
#ld: -r -melf32btsmip
#readelf: -A
#target: mips*-*-*
Attribute Section: gnu
File Attributes
Tag_GNU_MIPS_ABI_FP: 64-bit float \(-mips32r2 -mfp64\)

View File

@ -0,0 +1,10 @@
#source: attr-gnu-4-4.s
#source: attr-gnu-4-5.s
#as: -EB -32
#ld: -r -melf32btsmip
#warning: Warning: .* uses unknown floating point ABI 5
#target: mips*-*-*
Attribute Section: gnu
File Attributes
Tag_GNU_MIPS_ABI_FP: 64-bit float \(-mips32r2 -mfp64\)

View File

@ -0,0 +1 @@
.gnu_attribute 4,5

View File

@ -0,0 +1,6 @@
#source: attr-gnu-4-5.s
#source: attr-gnu-4-1.s
#as: -EB -32
#ld: -r -melf32btsmip
#warning: Warning: .* uses unknown floating point ABI 5
#target: mips*-*-*

View File

@ -290,17 +290,30 @@ run_dump_test "attr-gnu-4-00"
run_dump_test "attr-gnu-4-01"
run_dump_test "attr-gnu-4-02"
run_dump_test "attr-gnu-4-03"
run_dump_test "attr-gnu-4-04"
run_dump_test "attr-gnu-4-05"
run_dump_test "attr-gnu-4-10"
run_dump_test "attr-gnu-4-11"
run_dump_test "attr-gnu-4-12"
run_dump_test "attr-gnu-4-13"
run_dump_test "attr-gnu-4-14"
run_dump_test "attr-gnu-4-15"
run_dump_test "attr-gnu-4-20"
run_dump_test "attr-gnu-4-21"
run_dump_test "attr-gnu-4-22"
run_dump_test "attr-gnu-4-23"
run_dump_test "attr-gnu-4-24"
run_dump_test "attr-gnu-4-25"
run_dump_test "attr-gnu-4-30"
run_dump_test "attr-gnu-4-31"
run_dump_test "attr-gnu-4-32"
run_dump_test "attr-gnu-4-33"
run_dump_test "attr-gnu-4-34"
run_dump_test "attr-gnu-4-35"
run_dump_test "attr-gnu-4-40"
run_dump_test "attr-gnu-4-41"
run_dump_test "attr-gnu-4-42"
run_dump_test "attr-gnu-4-43"
run_dump_test "attr-gnu-4-44"
run_dump_test "attr-gnu-4-45"
run_dump_test "attr-gnu-4-51"