# Expect script for MIPS ELF linker tests
-# Copyright (C) 2002-2016 Free Software Foundation, Inc.
+# Copyright (C) 2002-2017 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
run_dump_test "bal-jalx-addend" [list [list ld $abi_ldflags(o32)]]
run_dump_test "bal-jalx-local" [list [list ld $abi_ldflags(o32)]]
run_dump_test "bal-jalx-pic" [list [list ld $abi_ldflags(o32)]]
+run_dump_test "bal-jalx-pic-ignore" [list [list ld $abi_ldflags(o32)]]
if $has_newabi {
run_dump_test "jalx-addend-n32" [list [list ld $abi_ldflags(n32)]]
run_dump_test "jalx-local-n32" [list [list ld $abi_ldflags(n32)]]
run_dump_test "bal-jalx-addend-n32" [list [list ld $abi_ldflags(n32)]]
run_dump_test "bal-jalx-local-n32" [list [list ld $abi_ldflags(n32)]]
run_dump_test "bal-jalx-pic-n32" [list [list ld $abi_ldflags(n32)]]
+ run_dump_test "bal-jalx-pic-ignore-n32" [list [list ld $abi_ldflags(n32)]]
run_dump_test "jalx-addend-n64" [list [list ld $abi_ldflags(n64)]]
run_dump_test "jalx-local-n64" [list [list ld $abi_ldflags(n64)]]
run_dump_test "bal-jalx-addend-n64" [list [list ld $abi_ldflags(n64)]]
run_dump_test "bal-jalx-local-n64" [list [list ld $abi_ldflags(n64)]]
run_dump_test "bal-jalx-pic-n64" [list [list ld $abi_ldflags(n64)]]
+ run_dump_test "bal-jalx-pic-ignore-n64" [list [list ld $abi_ldflags(n64)]]
}
run_dump_test "unaligned-jalx-0" [list [list ld $abi_ldflags(o32)]]
if $has_newabi {
run_dump_test "unaligned-branch-2" \
[list [list ld $abi_ldflags(n32)]]
+ run_dump_test "unaligned-branch-ignore-2" \
+ [list [list ld $abi_ldflags(n32)]]
run_dump_test "unaligned-branch-r6-1" \
[list [list ld $abi_ldflags(n32)]]
+ run_dump_test "unaligned-branch-ignore-r6-1" \
+ [list [list ld $abi_ldflags(n32)]]
run_dump_test "unaligned-branch-r6-2" \
[list [list ld $abi_ldflags(n32)]]
run_dump_test "unaligned-branch-mips16" \
[list [list ld $abi_ldflags(n32)]]
+ run_dump_test "unaligned-branch-ignore-mips16" \
+ [list [list ld $abi_ldflags(n32)]]
run_dump_test "unaligned-branch-micromips" \
[list [list ld $abi_ldflags(n32)]]
+ run_dump_test "unaligned-branch-ignore-micromips" \
+ [list [list ld $abi_ldflags(n32)]]
run_dump_test "unaligned-jump" \
[list [list ld $abi_ldflags(n32)]]
run_dump_test "unaligned-jump-mips16" \
}
run_dump_test "reloc-local-overflow" [list [list ld $abi_ldflags(o32)]]
+run_ld_link_tests [list \
+ [list \
+ "MIPS link ELF o32 PIC comdat GOT16/LO16 relocation pairing" \
+ "$abi_ldflags(o32) -e bar" "" "$abi_asflags(o32) -mno-pdr" \
+ "../../../gas/testsuite/gas/mips/comdat-reloc.s" \
+ {} \
+ "comdat-reloc"]]
if {$has_newabi && $linux_gnu} {
run_dump_test "eh-frame1-n32"
[list ehdr_start-${suff}.s] \
[list "readelf -s ehdr_start-1.nd"] \
"ehdr_start-1-${abi}"]]
- if [regexp "(?:n32|n64)" "$abi"] {
- setup_kfail "mips*-*-*" "ld/15428"
- }
run_ld_link_tests [list \
[list \
"MIPS magic __ehdr_start symbol test 2 ($abi)" \
"$abi_asflags($abi)" \
[list ../../../gas/testsuite/gas/mips/jalr3.s] \
[list "objdump -d jalr3.dd"] \
- "jalr3-${abi}"]]
+ "jalr3-${abi}"] \
+ [list \
+ "MIPS JALR reloc unaligned/cross-mode link test ($abi)" \
+ "$abi_ldflags($abi) -T jalr3.ld" "" \
+ "$abi_asflags($abi)" \
+ [list ../../../gas/testsuite/gas/mips/jalr4.s] \
+ [list "objdump {-d --prefix-addresses --show-raw-insn} jalr4.dd"] \
+ "jalr4-${abi}"] \
+ [list \
+ "MIPSr6 JALR reloc unaligned/cross-mode link test ($abi)" \
+ "$abi_ldflags($abi) -T jalr3.ld" "" \
+ [string map \
+ [list -32 "-mips32r6 -32" \
+ -n32 "-mips64r6 -n32" \
+ -64 "-mips64r6 -64"] \
+ [regsub -- -march=from-abi $abi_asflags($abi) ""]] \
+ {../../../gas/testsuite/gas/mips/jalr4.s} \
+ {{objdump {-d --prefix-addresses --show-raw-insn} jalr4-r6.dd}} \
+ "jalr4-${abi}"]]
}
proc build_mips_plt_lib { abi } {