From: Matthew Fortune Date: Tue, 4 Nov 2014 23:37:28 +0000 (+0000) Subject: Update .MIPS.abiflags to support MIPS R6 X-Git-Tag: binutils-2_25~82 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8c4926a91872c4370042287389aef14108e39386;p=thirdparty%2Fbinutils-gdb.git Update .MIPS.abiflags to support MIPS R6 Backport from trunk. bfd/ * elfxx-mips.c (update_mips_abiflags_isa): Add E_MIPS_ARCH_32R6 and E_MIPS_ARCH_64R6 support. ld/testsuite/ * ld-mips-elf/abiflags-strip10-ph.d: New file. * ld-mips-elf/mips-eld.exp: Run the new test. gas/ * config/tc-mips.c (mips_elf_final_processing): Add INSN_ISA32R6 and INSN_ISA64R6 support. gas/testsuite/ * gas/mips/elf_arch_mips32r6.d: New file. * gas/mips/elf_arch_mips64r6.d: New file. * gas/mips/mips.exp: Run the new tests. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 91bbd61dc87..87a4080d6f2 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2014-11-10 Matthew Fortune + + Apply trunk patch: + * elfxx-mips.c (update_mips_abiflags_isa): Add E_MIPS_ARCH_32R6 + and E_MIPS_ARCH_64R6 support. + 2014-11-07 H.J. Lu Apply trunk patch: diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 61c363a9460..27176100a17 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -13950,6 +13950,10 @@ update_mips_abiflags_isa (bfd *abfd, Elf_Internal_ABIFlags_v0 *abiflags) if (abiflags->isa_rev < 2) abiflags->isa_rev = 2; break; + case E_MIPS_ARCH_32R6: + abiflags->isa_level = 32; + abiflags->isa_rev = 6; + break; case E_MIPS_ARCH_64: abiflags->isa_level = 64; abiflags->isa_rev = 1; @@ -13960,6 +13964,10 @@ update_mips_abiflags_isa (bfd *abfd, Elf_Internal_ABIFlags_v0 *abiflags) if (abiflags->isa_rev < 2) abiflags->isa_rev = 2; break; + case E_MIPS_ARCH_64R6: + abiflags->isa_level = 64; + abiflags->isa_rev = 6; + break; default: (*_bfd_error_handler) (_("%B: Unknown architecture %s"), diff --git a/gas/ChangeLog b/gas/ChangeLog index cb1829d45d7..e0fd9422138 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2014-11-10 Matthew Fortune + + Apply trunk patch: + * config/tc-mips.c (mips_elf_final_processing): Add INSN_ISA32R6 + and INSN_ISA64R6 support. + 2014-11-07 H.J. Lu Apply trunk patch: diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 54442f4025a..cfc4fa542d2 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -17970,6 +17970,10 @@ mips_elf_final_processing (void) flags.isa_level = 32; flags.isa_rev = 5; break; + case INSN_ISA32R6: + flags.isa_level = 32; + flags.isa_rev = 6; + break; case INSN_ISA64: flags.isa_level = 64; flags.isa_rev = 1; @@ -17986,6 +17990,10 @@ mips_elf_final_processing (void) flags.isa_level = 64; flags.isa_rev = 5; break; + case INSN_ISA64R6: + flags.isa_level = 64; + flags.isa_rev = 6; + break; } flags.gpr_size = file_mips_opts.gp == 32 ? AFL_REG_32 : AFL_REG_64; diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index e39be365f75..060002688a7 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2014-11-10 Matthew Fortune + + Apply trunk patch: + * gas/mips/elf_arch_mips32r6.d: New file. + * gas/mips/elf_arch_mips64r6.d: New file. + * gas/mips/mips.exp: Run the new tests. + 2014-11-07 H.J. Lu Apply trunk patch: diff --git a/gas/testsuite/gas/mips/elf_arch_mips32r6.d b/gas/testsuite/gas/mips/elf_arch_mips32r6.d new file mode 100644 index 00000000000..eefba45fb54 --- /dev/null +++ b/gas/testsuite/gas/mips/elf_arch_mips32r6.d @@ -0,0 +1,21 @@ +# name: ELF MIPS32r5 markings +# source: empty.s +# objdump: -p +# as: -32 -march=mips32r6 + +.*:.*file format.*elf.*mips.* +private flags = 9.......: .*\[mips32r6\].* + +MIPS ABI Flags Version: 0 + +ISA: MIPS32r6 +GPR size: 32 +CPR1 size: 64 +CPR2 size: 0 +FP ABI: Hard float \(32-bit CPU, 64-bit FPU\) +ISA Extension: None +ASEs: + None +FLAGS 1: 0000000. +FLAGS 2: 00000000 + diff --git a/gas/testsuite/gas/mips/elf_arch_mips64r6.d b/gas/testsuite/gas/mips/elf_arch_mips64r6.d new file mode 100644 index 00000000000..7cdea4d8b68 --- /dev/null +++ b/gas/testsuite/gas/mips/elf_arch_mips64r6.d @@ -0,0 +1,21 @@ +# name: ELF MIPS64r6 markings +# source: empty.s +# objdump: -p +# as: -32 -march=mips64r6 + +.*:.*file format.*elf.*mips.* +private flags = a.......: .*\[mips64r6\].* + +MIPS ABI Flags Version: 0 + +ISA: MIPS64r6 +GPR size: 32 +CPR1 size: 64 +CPR2 size: 0 +FP ABI: Hard float \(32-bit CPU, 64-bit FPU\) +ISA Extension: None +ASEs: + None +FLAGS 1: 0000000. +FLAGS 2: 00000000 + diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 5750b754dd1..6c0c9c8e4b4 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -867,10 +867,12 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "elf_arch_mips32r2" run_dump_test "elf_arch_mips32r3" run_dump_test "elf_arch_mips32r5" + run_dump_test "elf_arch_mips32r6" run_dump_test "elf_arch_mips64" run_dump_test "elf_arch_mips64r2" run_dump_test "elf_arch_mips64r3" run_dump_test "elf_arch_mips64r5" + run_dump_test "elf_arch_mips64r6" # Verify that ASE markings are handled properly. run_dump_test "elf_ase_mips16" diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 1453b048f9c..339c89a770e 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2014-11-10 Matthew Fortune + + Apply trunk patch: + * ld-mips-elf/abiflags-strip10-ph.d: New file. + * ld-mips-elf/mips-eld.exp: Run the new test. + 2014-11-07 H.J. Lu Apply trunk patch: diff --git a/ld/testsuite/ld-mips-elf/abiflags-strip10-ph.d b/ld/testsuite/ld-mips-elf/abiflags-strip10-ph.d new file mode 100644 index 00000000000..ea403aff127 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/abiflags-strip10-ph.d @@ -0,0 +1,27 @@ +#source: jr.s -mips32r6 +#source: jr.s -mips32r6 RUN_OBJCOPY +#ld: -e 0 +#objcopy_objects: -R .MIPS.abiflags +#objdump: -p + +[^:]*: file format elf32-.* + +Program Header: +0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3 + filesz 0x00000018 memsz 0x00000018 flags r-- +#... +private flags = 90001400: \[abi=O32\] \[mips32r6\] \[nan2008\] \[not 32bitmode\] + +MIPS ABI Flags Version: 0 + +ISA: MIPS32r6 +GPR size: 32 +CPR1 size: 64 +CPR2 size: 0 +FP ABI: Hard float \(32-bit CPU, 64-bit FPU\) +ISA Extension: None +ASEs: + None +FLAGS 1: 0000000. +FLAGS 2: 00000000 + diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp index 92ab4b3f455..91036de7148 100644 --- a/ld/testsuite/ld-mips-elf/mips-elf.exp +++ b/ld/testsuite/ld-mips-elf/mips-elf.exp @@ -694,6 +694,7 @@ run_dump_test "abiflags-strip6-ph" $o32flagslist run_dump_test "abiflags-strip7-ph" $o32flagslist run_dump_test "abiflags-strip8-ph" $o32flagslist run_dump_test "abiflags-strip9-ph" $o32flagslist +run_dump_test "abiflags-strip10-ph" $o32flagslist run_dump_test "nan-legacy" run_dump_test "nan-2008"