diff options
author | Maciej W. Rozycki <macro@linux-mips.org> | 2013-07-12 15:58:15 +0000 |
---|---|---|
committer | Maciej W. Rozycki <macro@linux-mips.org> | 2013-07-12 15:58:15 +0000 |
commit | ba92f8875272b3d30872644d5305868ff4d047b8 (patch) | |
tree | 77c84c712c3409bc45868cdb86a58a00e95760fb /ld | |
parent | 627e05482b7a540b8453a196d03e15cce03a4e40 (diff) | |
download | gdb-ba92f8875272b3d30872644d5305868ff4d047b8.zip gdb-ba92f8875272b3d30872644d5305868ff4d047b8.tar.gz gdb-ba92f8875272b3d30872644d5305868ff4d047b8.tar.bz2 |
include/elf/
* mips.h (EF_MIPS_NAN2008): New macro.
bfd/
* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Handle
EF_MIPS_NAN2008.
(_bfd_mips_elf_print_private_bfd_data): Likewise.
binutils/
* readelf.c (get_machine_flags): Handle EF_MIPS_NAN2008.
gas/
* config/tc-mips.c (mips_flag_nan2008): New variable.
(options): Add OPTION_NAN enum value.
(md_longopts): Handle it.
(md_parse_option): Likewise.
(s_nan): New function.
(mips_elf_final_processing): Handle EF_MIPS_NAN2008.
(md_show_usage): Add -mnan.
* doc/as.texinfo (Overview): Add -mnan.
* doc/c-mips.texi (MIPS Opts): Document -mnan.
(MIPS NaN Encodings): New node. Document .nan directive.
(MIPS-Dependent): List the new node.
gas/testsuite/
* gas/mips/nan-2008-1.d: New test.
* gas/mips/nan-2008-2.d: New test.
* gas/mips/nan-2008-3.d: New test.
* gas/mips/nan-2008-4.d: New test.
* gas/mips/nan-legacy-1.d: New test.
* gas/mips/nan-legacy-2.d: New test.
* gas/mips/nan-legacy-3.d: New test.
* gas/mips/nan-legacy-4.d: New test.
* gas/mips/nan-legacy-5.d: New test.
* gas/mips/nan-error-1.l: New list test.
* gas/mips/nan-error-2.l: New list test.
* gas/mips/nan-2008-override.s: New test source.
* gas/mips/nan-2008.s: New test source.
* gas/mips/nan-legacy-override.s: New test source.
* gas/mips/nan-legacy.s: New test source.
* gas/mips/nan-error-1.s: New test source.
* gas/mips/nan-error-2.s: New test source.
* gas/mips/mips.exp: Run the new tests.
ld/testsuite/
* ld-mips-elf/nan-2008.d: New test.
* ld-mips-elf/nan-legacy.d: New test.
* ld-mips-elf/nan-mixed-1.d: New test.
* ld-mips-elf/nan-mixed-2.d: New test.
* ld-mips-elf/nan-2008.s: New test source.
* ld-mips-elf/nan-legacy.s: New test source.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/mips-elf.exp | 5 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/nan-2008.d | 7 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/nan-2008.s | 6 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/nan-legacy.d | 8 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/nan-legacy.s | 6 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/nan-mixed-1.d | 5 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/nan-mixed-2.d | 5 |
8 files changed, 51 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index a463570..febe691 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2013-07-12 Maciej W. Rozycki <macro@codesourcery.com> + + * ld-mips-elf/nan-2008.d: New test. + * ld-mips-elf/nan-legacy.d: New test. + * ld-mips-elf/nan-mixed-1.d: New test. + * ld-mips-elf/nan-mixed-2.d: New test. + * ld-mips-elf/nan-2008.s: New test source. + * ld-mips-elf/nan-legacy.s: New test source. + 2013-07-03 Marcus Shawcroft <marcus.shawcroft@arm.com> * ld-aarch64/emit-relocs-309.s: Replace got_prel19 with got. diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp index e0ddac9..24ecf95 100644 --- a/ld/testsuite/ld-mips-elf/mips-elf.exp +++ b/ld/testsuite/ld-mips-elf/mips-elf.exp @@ -666,6 +666,11 @@ run_dump_test "attr-gnu-4-44" run_dump_test "attr-gnu-4-45" run_dump_test "attr-gnu-4-51" +run_dump_test "nan-legacy" +run_dump_test "nan-2008" +run_dump_test "nan-mixed-1" +run_dump_test "nan-mixed-2" + if { $linux_gnu } { run_ld_link_tests { {"GOT and versioning 1" diff --git a/ld/testsuite/ld-mips-elf/nan-2008.d b/ld/testsuite/ld-mips-elf/nan-2008.d new file mode 100644 index 0000000..aa20049 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/nan-2008.d @@ -0,0 +1,7 @@ +#source: nan-2008.s +#source: nan-2008.s +#ld: -r +#objdump: -p + +.*:.*file format.*mips.* +private flags = [0-9a-f]*[4-7c-f]..: .*[[,]nan2008[],].* diff --git a/ld/testsuite/ld-mips-elf/nan-2008.s b/ld/testsuite/ld-mips-elf/nan-2008.s new file mode 100644 index 0000000..a87cbab --- /dev/null +++ b/ld/testsuite/ld-mips-elf/nan-2008.s @@ -0,0 +1,6 @@ + .nan 2008 + +# We need some section contents for the ELF header flag compatibility check +# to trigger. + .data + .byte 0 diff --git a/ld/testsuite/ld-mips-elf/nan-legacy.d b/ld/testsuite/ld-mips-elf/nan-legacy.d new file mode 100644 index 0000000..081abcf --- /dev/null +++ b/ld/testsuite/ld-mips-elf/nan-legacy.d @@ -0,0 +1,8 @@ +#source: nan-legacy.s +#source: nan-legacy.s +#ld: -r +#objdump: -p + +.*:.*file format.*mips.* +#failif +private flags = [0-9a-f]*[4-7c-f]..: .*[[]nan2008[]].* diff --git a/ld/testsuite/ld-mips-elf/nan-legacy.s b/ld/testsuite/ld-mips-elf/nan-legacy.s new file mode 100644 index 0000000..b0c0c67 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/nan-legacy.s @@ -0,0 +1,6 @@ + .nan legacy + +# We need some section contents for the ELF header flag compatibility check +# to trigger. + .data + .byte 0 diff --git a/ld/testsuite/ld-mips-elf/nan-mixed-1.d b/ld/testsuite/ld-mips-elf/nan-mixed-1.d new file mode 100644 index 0000000..9bc524c --- /dev/null +++ b/ld/testsuite/ld-mips-elf/nan-mixed-1.d @@ -0,0 +1,5 @@ +#source: nan-legacy.s +#source: nan-2008.s +#ld: -r +#error: \A[^\n]*: [^\n]* linking -mnan=2008 module with previous -mnan=legacy modules\n +#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z diff --git a/ld/testsuite/ld-mips-elf/nan-mixed-2.d b/ld/testsuite/ld-mips-elf/nan-mixed-2.d new file mode 100644 index 0000000..388d770 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/nan-mixed-2.d @@ -0,0 +1,5 @@ +#source: nan-2008.s +#source: nan-legacy.s +#ld: -r +#error: \A[^\n]*: [^\n]* linking -mnan=legacy module with previous -mnan=2008 modules\n +#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z |