diff options
Diffstat (limited to 'ld')
-rw-r--r-- | ld/configure.tgt | 10 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/attr-gnu-4-10.d | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/compact-eh6.d | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/mips-elf.exp | 21 | ||||
-rw-r--r-- | ld/testsuite/ld-undefined/undefined.exp | 3 |
5 files changed, 30 insertions, 8 deletions
diff --git a/ld/configure.tgt b/ld/configure.tgt index 34c9d67..c62b958 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt @@ -580,10 +580,20 @@ mips*-*-vxworks*) targ_emul=elf32ebmipvxworks ;; mips*-*-windiss) targ_emul=elf32mipswindiss ;; +mips64*el-*-linux-gnuabi64) + targ_emul=elf64ltsmip + targ_extra_emuls="elf64btsmip elf32ltsmipn32 elf32btsmipn32 elf32ltsmip elf32btsmip" + targ_extra_libpath=$targ_extra_emuls + ;; mips64*el-*-linux-*) targ_emul=elf32ltsmipn32 targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" targ_extra_libpath=$targ_extra_emuls ;; +mips64*-*-linux-gnuabi64) + targ_emul=elf64btsmip + targ_extra_emuls="elf64ltsmip elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip" + targ_extra_libpath=$targ_extra_emuls + ;; mips64*-*-linux-*) targ_emul=elf32btsmipn32 targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip" targ_extra_libpath=$targ_extra_emuls diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-10.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-10.d index 2ddb3d3..fe39ece 100644 --- a/ld/testsuite/ld-mips-elf/attr-gnu-4-10.d +++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-10.d @@ -3,7 +3,7 @@ #as: -mpdr #ld: -r #readelf: -hA -#notarget: mips64*-*-openbsd* +#notarget: mips64*-*-openbsd* mips64*-*-*-gnuabi64 ELF Header: Magic: .* diff --git a/ld/testsuite/ld-mips-elf/compact-eh6.d b/ld/testsuite/ld-mips-elf/compact-eh6.d index e81285a..a4a6978 100644 --- a/ld/testsuite/ld-mips-elf/compact-eh6.d +++ b/ld/testsuite/ld-mips-elf/compact-eh6.d @@ -4,7 +4,7 @@ #as: -EB #readelf: -x .eh_frame_hdr #ld: -EB -e main -# +#notarget: mips64*-*-*-gnuabi64 Hex dump of section \'\.eh_frame_hdr\': diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp index 8be2bfc..e123ef5 100644 --- a/ld/testsuite/ld-mips-elf/mips-elf.exp +++ b/ld/testsuite/ld-mips-elf/mips-elf.exp @@ -155,13 +155,23 @@ if {[istarget *-*-openbsd*] } { if [istarget *el-*-*] { set abi_asflags(o32) -32 set abi_ldflags(o32) -melf32ltsmip - set abi_asflags(n64) "-march=from-abi -64" - set abi_ldflags(n64) -melf64ltsmip + if [istarget *-*-*-gnuabi64] { + set abi_asflags(n32) "-march=from-abi -n32" + set abi_ldflags(n32) -melf32ltsmipn32 + } else { + set abi_asflags(n64) "-march=from-abi -64" + set abi_ldflags(n64) -melf64ltsmip + } } else { set abi_asflags(o32) -32 set abi_ldflags(o32) -melf32btsmip - set abi_asflags(n64) "-march=from-abi -64" - set abi_ldflags(n64) -melf64btsmip + if [istarget *-*-*-gnuabi64] { + set abi_asflags(n32) "-march=from-abi -n32" + set abi_ldflags(n32) -melf32btsmipn32 + } else { + set abi_asflags(n64) "-march=from-abi -64" + set abi_ldflags(n64) -melf64btsmip + } } set irixemul 0 } elseif {[istarget *-*-linux*] } { @@ -811,7 +821,8 @@ if { $linux_gnu } { run_dump_test "got-page-1" run_dump_test_n32 "got-page-2" run_dump_test_n64 "dyn-sec64" noarch - run_dump_test "got-page-3" + run_dump_test_o32 "got-page-3" + run_dump_test_n32 "got-page-3" [list [list name (n32)]] if $has_abi(o32) { run_ld_link_tests [subst { {"GOT page 4 (one file)" diff --git a/ld/testsuite/ld-undefined/undefined.exp b/ld/testsuite/ld-undefined/undefined.exp index 05b1131..c0479a2 100644 --- a/ld/testsuite/ld-undefined/undefined.exp +++ b/ld/testsuite/ld-undefined/undefined.exp @@ -206,7 +206,8 @@ if { ![is_elf_format] || ![check_shared_lib_support]} then { # triplets, and S+core targets using an extra R_SCORE_NONE # relocation, so adjust for that. switch -glob $target_triplet { - "mips64*-*-openbsd*" { + "mips64*-*-openbsd*" - + "mips64*-*-*-gnuabi64" { set none_count 6 set reloc_count 4 } |