X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=ld%2Ftestsuite%2Fld-i386%2Fi386.exp;h=8fe047bba0c0da572552f26b0ffef31ee12b295a;hb=8493b6651af3d2130d5f5f050905cd3d6e8a9c27;hp=240850a02c6d0393e00079e424250a724f4796fd;hpb=760b28930013fc479fece0007b3db79ade49155c;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp index 240850a02c..8fe047bba0 100644 --- a/ld/testsuite/ld-i386/i386.exp +++ b/ld/testsuite/ld-i386/i386.exp @@ -1,5 +1,5 @@ # Expect script for ld-i386 tests -# Copyright (C) 2002-2018 Free Software Foundation, Inc. +# Copyright (C) 2002-2019 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -19,6 +19,13 @@ # MA 02110-1301, USA. # +global ASFLAGS +set saved_ASFLAGS "$ASFLAGS" +if { [is_elf_format] \ + && ([istarget "i?86-*-*"] || [istarget "x86_64-*-*"]) } { + set ASFLAGS "$ASFLAGS -mx86-used-note=no" +} + # Test i386 linking; all types of relocs. This tests the assembler and # tools like objdump as well as the linker. @@ -99,11 +106,10 @@ if [istarget "*-*-go32*"] { } if { !([istarget "i?86-*-elf*"] - || (([istarget "i?86-*-linux*"] - || [istarget "i?86-*-gnu*"]) - && ![istarget "*-*-*aout*"] - && ![istarget "*-*-*oldld*"]) + || [istarget "i?86-*-linux*"] + || [istarget "i?86-*-gnu*"] || [istarget "i?86-*-nacl*"] + || [istarget "x86_64-*-elf*"] || [istarget "x86_64-*-nacl*"] || [istarget "x86_64-*-linux*"] || [istarget "amd64-*-linux*"]) } { @@ -215,25 +221,29 @@ set i386tests { "--32" {tlsie1.s} {{objdump -dwr tlsie1.dd}} "tlsie1"} {"PR ld/17313 (1)" "-melf_i386" "" - "--32" {zero.s} {} ""} + "--32 -mx86-used-note=yes" {zero.s} {} ""} {"PR ld/17313 (2)" "-melf_i386 -shared --just-symbols=tmpdir/zero.o" "" - "--32" {lea1.s} {} "libpr17313.so"} + "--32 -mx86-used-note=yes" {lea1.s} {} "libpr17313.so"} {"PR ld/17306 (1)" "-melf_i386" "" - "--32" {pr17306b.s} {} ""} + "--32 -mx86-used-note=yes" {pr17306b.s} {} ""} {"PR ld/17306 (2)" "-melf_i386 -shared -Bsymbolic --just-symbols=tmpdir/pr17306b.o" "" - "--32" {pr17306a.s} {} "libpr17306.so"} + "--32 -mx86-used-note=yes" {pr17306a.s} {} "libpr17306.so"} {"PR ld/17709 (1)" "-melf_i386 -shared" "" - "--32" {pr17709a.s} {} "libpr17709.so"} + "--32 -mx86-used-note=yes" {pr17709a.s} {} "libpr17709.so"} {"PR ld/17709 (2)" "-melf_i386 tmpdir/libpr17709.so" "" - "--32" {pr17709b.s} {{readelf -r pr17709.rd}} "pr17709"} + "--32 -mx86-used-note=yes" + {pr17709b.s} {{readelf -r pr17709.rd}} "pr17709"} {"Build pr19827a.o" "" "" - "--32" { pr19827a.S }} + "--32 -mx86-used-note=yes" { pr19827a.S }} {"Build pr19827b.so" "-melf_i386 -shared" "" - "--32" { pr19827b.S } {} "pr19827b.so"} + "--32 -mx86-used-note=yes" + { pr19827b.S } {} "pr19827b.so"} {"Build pr19827" "-melf_i386 -pie tmpdir/pr19827a.o tmpdir/pr19827b.so" "" - "--32" { dummy.s } {{readelf {-rW} pr19827.rd}} "pr19827"} + "--32 -mx86-used-note=yes" + { dummy.s } {{readelf {-rW} pr19827.rd}} "pr19827"} {"Build pr19827.so" "-melf_i386 -shared -Bsymbolic" "" - "--32" { pr19827a.S } {{readelf {-rW} pr19827.rd}} "pr19827.so"} + "--32 -mx86-used-note=yes" + { pr19827a.S } {{readelf {-rW} pr19827.rd}} "pr19827.so"} } # So as to avoid rewriting every last test case here in a nacl variant, @@ -435,6 +445,7 @@ run_dump_test "pr20515" run_dump_test "property-x86-3" run_dump_test "property-x86-4a" run_dump_test "property-x86-4b" +run_dump_test "property-x86-5" run_dump_test "property-x86-ibt1a" run_dump_test "property-x86-ibt1b" run_dump_test "property-x86-ibt2" @@ -449,6 +460,16 @@ run_dump_test "property-x86-shstk3a" run_dump_test "property-x86-shstk3b" run_dump_test "property-x86-shstk4" run_dump_test "property-x86-shstk5" +run_dump_test "property-x86-cet1" +run_dump_test "property-x86-cet2a" +run_dump_test "property-x86-cet2b" +run_dump_test "property-x86-cet3a" +run_dump_test "property-x86-cet3b" +run_dump_test "property-x86-cet4a" +run_dump_test "property-x86-cet4b" +run_dump_test "property-x86-cet5a" +run_dump_test "property-x86-cet5b" +run_dump_test "property-x86-cet6" run_dump_test "pie1" run_dump_test "pie1-nacl" run_dump_test "pr21884" @@ -459,12 +480,29 @@ run_dump_test "pr22115-1c" run_dump_test "pr22115-1d" run_dump_test "pr22135" run_dump_test "pr22782" +run_dump_test "pr22929" +run_dump_test "pr23189" +run_dump_test "pr23194" +run_dump_test "pr23372a" +run_dump_test "pr23372b" +run_dump_test "pr23372c" +run_dump_test "pr23372d" +run_dump_test "pr23486a" +run_dump_test "pr23486b" +run_dump_test "pr23486c" +run_dump_test "pr23486d" +run_dump_test "pr23854" +run_dump_test "pr23930" +run_dump_test "pr24322a" +run_dump_test "pr24322b" +run_dump_test "align-branch-1" if { !([istarget "i?86-*-linux*"] || [istarget "i?86-*-gnu*"] || [istarget "i?86-*-nacl*"] || [istarget "x86_64-*-nacl*"] || [istarget "x86_64-*-linux*"]) } { + set ASFLAGS "$saved_ASFLAGS" return } @@ -475,7 +513,8 @@ run_dump_test "pr14215" run_dump_test "pr17057" run_dump_test "pr17935-1" run_dump_test "pr17935-2" -run_dump_test "pr18801" +run_dump_test "pr18801a" +run_dump_test "pr18801b" run_dump_test "pr18815" run_dump_test "pr19939a" run_dump_test "pr19939b" @@ -498,7 +537,7 @@ proc undefined_weak {cflags ldflags} { [list \ "Build libpr19704a.so" \ "-shared -Wl,-soname,libpr19704.so" \ - "" \ + "-Wa,-mrelax-relocations=yes" \ { dummy.s } \ {} \ "libpr19704a.so" \ @@ -506,7 +545,7 @@ proc undefined_weak {cflags ldflags} { [list \ "Build libpr19704b.so" \ "-shared -Wl,-soname,libpr19704.so" \ - "-fPIC" \ + "-fPIC -Wa,-mrelax-relocations=yes" \ { pr19704b.c } \ {} \ "libpr19704b.so" \ @@ -519,7 +558,7 @@ proc undefined_weak {cflags ldflags} { [list \ "Run pr19704" \ "$ldflags tmpdir/libpr19704.so -Wl,-R,tmpdir" \ - "" \ + "-Wa,-mrelax-relocations=yes" \ { pr19704a.c } \ "pr19704" \ "pr19704.out" \ @@ -543,12 +582,12 @@ global PLT_CFLAGS # Must be Linux native with the C compiler if { [isnative] && [istarget "i?86-*-linux*"] - && [which $CC] != 0 } { + && [check_compiler_available] } { run_cc_link_tests [list \ [list \ "Build plt-lib.so" \ "-shared" \ - "-fPIC" \ + "-fPIC -Wa,-mrelax-relocations=yes" \ { plt-lib.c } \ {} \ "libplt-lib.so" \ @@ -556,7 +595,7 @@ if { [isnative] [list \ "Build libplt-main1.a" \ "" \ - "-fPIC -Wa,-mrelax-relocations=yes" \ + "-fPIC -Wa,-mrelax-relocations=yes,-mrelax-relocations=yes" \ { plt-main1.c } \ {{readelf {-Wr} plt-main1.rd}} \ "libplt-main1.a" \ @@ -564,7 +603,7 @@ if { [isnative] [list \ "Build libplt-main2.a" \ "" \ - "-fPIC -Wa,-mrelax-relocations=yes" \ + "-fPIC -Wa,-mrelax-relocations=yes,-mrelax-relocations=yes" \ { plt-main2.c } \ {{readelf {-Wr} plt-main2.rd}} \ "libplt-main2.a" \ @@ -572,7 +611,7 @@ if { [isnative] [list \ "Build libplt-main3.a" \ "" \ - "-fPIC -Wa,-mrelax-relocations=yes $PLT_CFLAGS" \ + "-fPIC -Wa,-mrelax-relocations=yes,-mrelax-relocations=yes $PLT_CFLAGS" \ { plt-main3.c } \ {{readelf {-Wr} plt-main3.rd}} \ "libplt-main3.a" \ @@ -580,7 +619,7 @@ if { [isnative] [list \ "Build libplt-main4.a" \ "" \ - "-fPIC -Wa,-mrelax-relocations=yes $PLT_CFLAGS" \ + "-fPIC -Wa,-mrelax-relocations=yes,-mrelax-relocations=yes $PLT_CFLAGS" \ { plt-main4.c } \ {{readelf {-Wr} plt-main4.rd}} \ "libplt-main4.a" \ @@ -589,7 +628,7 @@ if { [isnative] "Build plt-main" \ "tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \ tmpdir/plt-main4.o tmpdir/libplt-lib.so" \ - "" \ + "-Wa,-mrelax-relocations=yes" \ { plt-main5.c } \ {{readelf {-Wr} plt-main.rd}} \ "plt-main" \ @@ -598,7 +637,7 @@ if { [isnative] "Build plt-main with PIE" \ "tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \ tmpdir/plt-main4.o tmpdir/libplt-lib.so -pie" \ - "-fPIC" \ + "-fPIC -Wa,-mrelax-relocations=yes" \ { plt-main5.c } \ {{readelf {-Wr} plt-main.rd}} \ "plt-main" \ @@ -606,7 +645,7 @@ if { [isnative] [list \ "Build copyreloc-lib.so" \ "-shared" \ - "-fPIC" \ + "-fPIC -Wa,-mrelax-relocations=yes" \ { copyreloc-lib.c } \ {} \ "copyreloc-lib.so" \ @@ -614,7 +653,7 @@ if { [isnative] [list \ "Build libcopyreloc-main.a" \ "" \ - "" \ + "-Wa,-mrelax-relocations=yes" \ { copyreloc-main.S } \ {} \ "libcopyreloc-main.a" \ @@ -622,7 +661,7 @@ if { [isnative] [list \ "Build copyreloc-main with PIE and GOTOFF (1)" \ "tmpdir/copyreloc-main.o tmpdir/copyreloc-lib.so -pie" \ - "" \ + "-Wa,-mrelax-relocations=yes" \ { dummy.s } \ {{readelf {-Wr} copyreloc-main1.rd}} \ "copyreloc-main" \ @@ -630,7 +669,7 @@ if { [isnative] [list \ "Build copyreloc-main with PIE and GOTOFF (2)" \ "tmpdir/copyreloc-main.o tmpdir/copyreloc-lib.so -pie" \ - "" \ + "-Wa,-mrelax-relocations=yes" \ { dummy.s } \ {{readelf {-Wr} copyreloc-main2.rd}} \ "copyreloc-main" \ @@ -638,7 +677,7 @@ if { [isnative] [list \ "Build pr17689.so" \ "-shared" \ - "-fPIC" \ + "-fPIC -Wa,-mrelax-relocations=yes" \ { pr17689a.c } \ {} \ "pr17689.so" \ @@ -646,7 +685,7 @@ if { [isnative] [list \ "Build pr17689.so with -z now" \ "-shared -Wl,-z,now" \ - "-fPIC" \ + "-fPIC -Wa,-mrelax-relocations=yes" \ { pr17689a.c } \ {{readelf {-Wr} pr17689now.rd}} \ "pr17689now.so" \ @@ -654,7 +693,7 @@ if { [isnative] [list \ "Build pr17689ver.so" \ "-shared -Wl,--version-script,pr17689a.t" \ - "-fPIC" \ + "-fPIC -Wa,-mrelax-relocations=yes" \ { pr17689a.c } \ {} \ "pr17689ver.so" \ @@ -662,7 +701,7 @@ if { [isnative] [list \ "Build pr17689.a" \ "" \ - "" \ + "-Wa,-mrelax-relocations=yes" \ { pr17689b.S } \ {} \ "pr17689.a" \ @@ -670,7 +709,7 @@ if { [isnative] [list \ "Build pr17689 with PIE and GOTOFF" \ "tmpdir/pr17689b.o tmpdir/pr17689.so -pie" \ - "" \ + "-Wa,-mrelax-relocations=yes" \ { dummy.c } \ {{readelf {-Wr} pr17689.rd}} \ "pr17689" \ @@ -678,7 +717,7 @@ if { [isnative] [list \ "Build pr17689 with PIE, -z now and GOTOFF" \ "tmpdir/pr17689b.o tmpdir/pr17689.so -pie -Wl,-z,now" \ - "" \ + "-Wa,-mrelax-relocations=yes" \ { dummy.c } \ {{readelf {-Wr} pr17689now.rd}} \ "pr17689now" \ @@ -686,7 +725,7 @@ if { [isnative] [list \ "Build pr17689ver with PIE and GOTOFF" \ "tmpdir/pr17689b.o tmpdir/pr17689ver.so -pie" \ - "" \ + "-Wa,-mrelax-relocations=yes" \ { dummy.c } \ {{readelf {-Wr} pr17689ver.rd}} \ "pr17689ver" \ @@ -694,7 +733,7 @@ if { [isnative] [list \ "Build pr17827 with PIE and GOTOFF" \ "tmpdir/pr17689b.o tmpdir/pr17689.so -pie" \ - "" \ + "-Wa,-mrelax-relocations=yes" \ { dummy.c } \ {{readelf {-Wr} pr17827.rd}} \ "pr17827" \ @@ -702,7 +741,7 @@ if { [isnative] [list \ "Build pr18900.so" \ "-shared" \ - "-fPIC" \ + "-fPIC -Wa,-mrelax-relocations=yes" \ { pr18900a.c } \ "" \ "pr18900.so" \ @@ -710,7 +749,7 @@ if { [isnative] [list \ "Build pr18900.o" \ "-r -nostdlib" \ - "" \ + "-Wa,-mrelax-relocations=yes" \ { pr18900b.c pr18900c.c } \ "" \ "pr18900.o" \ @@ -718,7 +757,7 @@ if { [isnative] [list \ "Build pr18900a" \ "tmpdir/pr18900.o tmpdir/pr18900.so" \ - "" \ + "-Wa,-mrelax-relocations=yes" \ { dummy.s } \ {{readelf {-Wrd} pr18900a.rd}} \ "pr18900a" \ @@ -726,7 +765,7 @@ if { [isnative] [list \ "Build pr18900b" \ "-Wl,--as-needed tmpdir/pr18900.o tmpdir/pr18900.so" \ - "" \ + "-Wa,-mrelax-relocations=yes" \ { dummy.s } \ {{readelf {-Wrd} pr18900b.rd}} \ "pr18900b" \ @@ -734,7 +773,7 @@ if { [isnative] [list \ "Build pr19031.so" \ "-shared" \ - "-fPIC" \ + "-fPIC -Wa,-mrelax-relocations=yes" \ { pr19031a.c } \ "" \ "pr19031.so" \ @@ -742,7 +781,7 @@ if { [isnative] [list \ "Build got1d.so" \ "-shared" \ - "" \ + "-Wa,-mrelax-relocations=yes" \ { got1d.S } \ "" \ "got1d.so" \ @@ -758,7 +797,7 @@ if { [isnative] [list \ "Build gotpc1" \ "$NOPIE_LDFLAGS -Wl,--as-needed tmpdir/gotpc1.o tmpdir/got1d.so" \ - "" \ + "-Wa,-mx86-used-note=no" \ { dummy.s } \ {{objdump {-dw} got1.dd}} \ "got1" \ @@ -766,7 +805,7 @@ if { [isnative] [list \ "Build pr19319.so" \ "-shared" \ - "" \ + "-Wa,-mx86-used-note=no" \ { pr19319a.S } \ "" \ "pr19319.so" \ @@ -779,10 +818,19 @@ if { [isnative] {{objdump {-dw} pr19319.dd}} \ "pr19319" \ ] \ + [list \ + "Build pr24276.so" \ + "-shared -nostdlib -nostartfiles \ + -Ltmpdir $srcdir/$subdir/pr24276.dso" \ + "-Wa,-mx86-used-note=yes" \ + { pr19319b.S } \ + {{warning_output pr24276.warn}} \ + "pr24276.so" \ + ] \ [list \ "Build property 1" \ "" \ - "" \ + "-Wa,-mx86-used-note=no" \ {pass.c property-no-copy.S} \ {{readelf {-n} property-1.r}} \ "property-1" \ @@ -790,15 +838,15 @@ if { [isnative] [list \ "Build property 1 (.o)" \ "-r -nostdlib" \ - "" \ + "-Wa,-mx86-used-note=yes" \ {pass.c property-no-copy.S} \ - {{readelf {-n} property-1.r}} \ + {{readelf {-n} property-1a.r}} \ "property-1.o" \ ] \ [list \ "Build property 1 (.so)" \ "-shared" \ - "-fPIC" \ + "-fPIC -Wa,-mx86-used-note=no" \ {pass.c property-no-copy.S} \ {{readelf {-n} property-1.r}} \ "property-1.so" \ @@ -806,7 +854,7 @@ if { [isnative] [list \ "Build property 2" \ "" \ - "" \ + "-Wa,-mx86-used-note=no" \ {pass.c property-stack.S} \ {{readelf {-n} property-2.r}} \ "property-2" \ @@ -814,15 +862,15 @@ if { [isnative] [list \ "Build property 2 (.o)" \ "-r -nostdlib" \ - "" \ + "-Wa,-mx86-used-note=yes" \ {pass.c property-stack.S} \ - {{readelf {-n} property-2.r}} \ + {{readelf {-n} property-2a.r}} \ "property-2.o" \ ] \ [list \ "Build property 2 (.so)" \ "-shared" \ - "-fPIC" \ + "-fPIC -Wa,-mx86-used-note=no" \ {pass.c property-stack.S} \ {{readelf {-n} property-2.r}} \ "property-2.so" \ @@ -830,7 +878,7 @@ if { [isnative] [list \ "Build property 3" \ "" \ - "" \ + "-Wa,-mx86-used-note=no" \ {pass.c property-stack.S property-x86-1.S} \ {{readelf {-n} property-3.r}} \ "property-3" \ @@ -838,15 +886,15 @@ if { [isnative] [list \ "Build property 3 (.o)" \ "-r -nostdlib" \ - "" \ + "-Wa,-mx86-used-note=yes" \ {pass.c property-x86-1.S property-stack.S} \ - {{readelf {-n} property-3.r}} \ + {{readelf {-n} property-3a.r}} \ "property-3.o" \ ] \ [list \ "Build property 3 (.so)" \ "-shared" \ - "-fPIC" \ + "-fPIC -Wa,-mx86-used-note=no" \ {property-x86-1.S pass.c property-stack.S} \ {{readelf {-n} property-3.r}} \ "property-3.so" \ @@ -854,7 +902,7 @@ if { [isnative] [list \ "Build property 4" \ "" \ - "" \ + "-Wa,-mx86-used-note=no" \ {pass.c property-stack.S property-x86-1.S property-x86-2.S} \ {{readelf {-n} property-4.r}} \ "property-4" \ @@ -862,15 +910,15 @@ if { [isnative] [list \ "Build property 4 (.o)" \ "-r -nostdlib" \ - "" \ + "-Wa,-mx86-used-note=yes" \ {pass.c property-x86-2.S property-x86-1.S property-stack.S} \ - {{readelf {-n} property-4.r}} \ + {{readelf {-n} property-4a.r}} \ "property-4.o" \ ] \ [list \ "Build property 4 (.so)" \ "-shared" \ - "-fPIC" \ + "-fPIC -Wa,-mx86-used-note=no" \ {property-x86-2.S property-x86-1.S pass.c property-stack.S} \ {{readelf {-n} property-4.r}} \ "property-4.so" \ @@ -878,7 +926,7 @@ if { [isnative] [list \ "Build property 4 (-Wl,-z,stack-size=0)" \ "-Wl,-z,stack-size=0" \ - "" \ + "-Wa,-mx86-used-note=no" \ {pass.c property-stack.S property-x86-1.S property-x86-2.S} \ {{readelf {-n} property-4.r}} \ "property-4" \ @@ -886,7 +934,7 @@ if { [isnative] [list \ "Build property 5" \ "-Wl,-z,stack-size=0x900000" \ - "" \ + "-Wa,-mx86-used-note=no" \ {pass.c property-stack.S property-x86-1.S property-x86-2.S} \ {{readelf {-n} property-5.r}} \ "property-5" \ @@ -894,15 +942,15 @@ if { [isnative] [list \ "Build property 5 (.o)" \ "-r -nostdlib -Wl,-z,stack-size=0x900000" \ - "" \ + "-Wa,-mx86-used-note=yes" \ {pass.c property-x86-2.S property-x86-1.S property-stack.S} \ - {{readelf {-n} property-5.r}} \ + {{readelf {-n} property-5a.r}} \ "property-5.o" \ ] \ [list \ "Build property 5 (.so)" \ "-shared -Wl,-z,stack-size=0x900000" \ - "-fPIC" \ + "-fPIC -Wa,-mx86-used-note=no" \ {property-x86-2.S property-x86-1.S pass.c property-stack.S} \ {{readelf {-n} property-5.r}} \ "property-5.so" \ @@ -910,7 +958,7 @@ if { [isnative] [list \ "Build property-6.so" \ "-shared" \ - "-fPIC" \ + "-fPIC -Wa,-mx86-used-note=no" \ {property-6a.c property-6c.S} \ {{readelf {-n} property-6.r}} \ "property-6.so" \ @@ -918,33 +966,33 @@ if { [isnative] [list \ "Build property-6.o" \ "-r -nostdlib" \ - "" \ + "-Wa,-mx86-used-note=yes" \ {property-6b.c property-stack.S} \ - {{readelf {-n} property-2.r}} \ + {{readelf {-n} property-2a.r}} \ "property-6.o" \ ] \ [list \ "Build property-6" \ "-Wl,--as-needed tmpdir/property-6.o tmpdir/property-6.so" \ + "-Wa,-mx86-used-note=no" \ { dummy.s } \ - "" \ {{readelf {-n} property-2.r}} \ "property-6" \ ] \ [list \ "Build property 7a (.o)" \ "-r -nostdlib" \ - "" \ + "-Wa,-mx86-used-note=yes" \ {property-unsorted-1.S} \ - {{readelf {-n} property-7.r}} \ + {{readelf {-n} property-7a.r}} \ "property-7a.o" \ ] \ [list \ "Build property 7b (.o)" \ "-r -nostdlib" \ - "" \ + "-Wa,-mx86-used-note=yes" \ {property-unsorted-2.S} \ - {{readelf {-n} property-7.r}} \ + {{readelf {-n} property-7a.r}} \ "property-7b.o" \ ] \ ] @@ -954,7 +1002,7 @@ if { [isnative] "Run plt-main" \ "tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \ tmpdir/plt-main4.o tmpdir/libplt-lib.so" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { plt-main5.c } \ "plt-main" \ "plt-main.out" \ @@ -963,7 +1011,7 @@ if { [isnative] "Run plt-main with PIE" \ "tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \ tmpdir/plt-main4.o tmpdir/libplt-lib.so -pie" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { plt-main5.c } \ "plt-main-pie" \ "plt-main.out" \ @@ -972,7 +1020,7 @@ if { [isnative] [list \ "Run copyreloc-main with PIE and GOTOFF" \ "-Wl,--as-needed tmpdir/copyreloc-main.o tmpdir/copyreloc-lib.so -pie" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { dummy.s } \ "copyreloc-main" \ "copyreloc-main.out" \ @@ -980,7 +1028,7 @@ if { [isnative] [list \ "Run pr17689 with PIE and GOTOFF" \ "tmpdir/pr17689b.o tmpdir/pr17689.so -pie" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { dummy.c } \ "pr17689" \ "pr17689.out" \ @@ -988,7 +1036,7 @@ if { [isnative] [list \ "Run pr17689 with PIE, -z now and GOTOFF" \ "tmpdir/pr17689b.o tmpdir/pr17689.so -pie -z now" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { dummy.c } \ "pr17689now" \ "pr17689.out" \ @@ -996,7 +1044,7 @@ if { [isnative] [list \ "Run pr17689ver with PIE and GOTOFF" \ "tmpdir/pr17689b.o tmpdir/pr17689ver.so -pie" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { dummy.c } \ "pr17689ver" \ "pr17689.out" \ @@ -1004,7 +1052,7 @@ if { [isnative] [list \ "Run pr18900" \ "tmpdir/pr18900.o tmpdir/pr18900.so" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { dummy.s } \ "pr18900" \ "pr18900.out" \ @@ -1012,7 +1060,7 @@ if { [isnative] [list \ "Run pr19031" \ "$NOPIE_LDFLAGS tmpdir/pr19031.so" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { pr19031b.S pr19031c.c } \ "pr19031" \ "pr19031.out" \ @@ -1021,7 +1069,7 @@ if { [isnative] [list \ "Run got1" \ "$NOPIE_LDFLAGS tmpdir/got1d.so" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { got1a.S got1b.c got1c.c } \ "got1" \ "got1.out" \ @@ -1029,105 +1077,105 @@ if { [isnative] [list \ "Run property 1" \ "" \ - "" \ + "-Wa,-mx86-used-note=yes" \ {pass.c property-no-copy.S} \ "property-1" "pass.out" \ ] \ [list \ "Run property 1 (PIE)" \ "-pie" \ - "" \ + "-Wa,-mx86-used-note=yes" \ {pass.c property-no-copy.S} \ "property-1-pie" "pass.out" "-fPIE" \ ] \ [list \ "Run property 1 (static)" \ "-static" \ - "" \ + "-Wa,-mx86-used-note=yes" \ {pass.c property-no-copy.S} \ "property-1-static" "pass.out" \ ] \ [list \ "Run property 2" \ "" \ - "" \ + "-Wa,-mx86-used-note=yes" \ {pass.c property-stack.S} \ "property-2" "pass.out" \ ] \ [list \ "Run property 2 (PIE)" \ "-pie" \ - "" \ + "-Wa,-mx86-used-note=yes" \ {pass.c property-stack.S} \ "property-2-pie" "pass.out" "-fPIE" \ ] \ [list \ "Run property 2 (static)" \ "-static" \ - "" \ + "-Wa,-mx86-used-note=yes" \ {pass.c property-stack.S} \ "property-3-static" "pass.out" \ ] \ [list \ "Run property 3" \ "" \ - "" \ + "-Wa,-mx86-used-note=yes" \ {pass.c property-stack.S property-x86-1.S} \ "property-3" "pass.out" \ ] \ [list \ "Run property 3 (PIE)" \ "-pie" \ - "" \ + "-Wa,-mx86-used-note=yes" \ {pass.c property-x86-1.S property-stack.S} \ "property-3-pie" "pass.out" "-fPIE" \ ] \ [list \ "Run property 3 (static)" \ "-static" \ - "" \ + "-Wa,-mx86-used-note=yes" \ {property-x86-1.S pass.c property-stack.S} \ "property-3-static" "pass.out" \ ] \ [list \ "Run property 4" \ "" \ - "" \ + "-Wa,-mx86-used-note=yes" \ {pass.c property-stack.S property-x86-1.S property-x86-2.S} \ "property-4" "pass.out" \ ] \ [list \ "Run property 4 (PIE)" \ "-pie" \ - "" \ + "-Wa,-mx86-used-note=yes" \ {pass.c property-x86-2.S property-x86-1.S property-stack.S} \ "property-4-pie" "pass.out" "-fPIE" \ ] \ [list \ "Run property 4 (static)" \ "-static" \ - "" \ + "-Wa,-mx86-used-note=yes" \ {property-x86-2.S property-x86-1.S pass.c property-stack.S} \ "property-4-static" "pass.out" \ ] \ [list \ "Run property 5" \ "-Wl,-z,stack-size=0x900000" \ - "" \ + "-Wa,-mx86-used-note=yes" \ {pass.c property-stack.S property-x86-1.S property-x86-2.S} \ "property-5" "pass.out" \ ] \ [list \ "Run property 5 (PIE)" \ "-pie -Wl,-z,stack-size=0x900000" \ - "" \ + "-Wa,-mx86-used-note=yes" \ {pass.c property-x86-2.S property-x86-1.S property-stack.S} \ "property-5-pie" "pass.out" "-fPIE" \ ] \ [list \ "Run property 5 (static)" \ "-static -Wl,-z,stack-size=0x900000" \ - "" \ + "-Wa,-mx86-used-note=yes" \ {property-x86-2.S property-x86-1.S pass.c property-stack.S} \ "property-5-static" "pass.out" \ ] \ @@ -1146,24 +1194,24 @@ global NOPIE_CFLAGS NOPIE_LDFLAGS if { [isnative] && [check_ifunc_available] && [istarget "i?86-*-*"] - && [which $CC] != 0 } { + && [check_compiler_available] } { run_cc_link_tests [list \ [list \ "Build ifunc-1a.o ifunc-1b.o ifunc-1c.o ifunc-1d.o" \ "" \ - "-fPIC -O2 -g" \ + "-fPIC -O2 -g -Wa,-mx86-used-note=yes" \ { ifunc-1a.c ifunc-1b.S ifunc-1c.S ifunc-1d.S } \ ] \ [list \ "Build pr21168a.o" \ "" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { pr21168a.c } \ ] \ [list \ "Build pr21168.so" \ "-shared" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { pr21168b.S } \ "" \ "pr21168.so" \ @@ -1175,7 +1223,7 @@ if { [isnative] "Run ifunc-1a" \ "tmpdir/ifunc-1a.o tmpdir/ifunc-1b.o \ tmpdir/ifunc-1c.o tmpdir/ifunc-1d.o" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { dummy.c } \ "ifunc-1a" \ "pass.out" \ @@ -1184,7 +1232,7 @@ if { [isnative] "Run ifunc-1b" \ "--static tmpdir/ifunc-1a.o tmpdir/ifunc-1b.o \ tmpdir/ifunc-1c.o tmpdir/ifunc-1d.o" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { dummy.c } \ "ifunc-1b" \ "pass.out" \ @@ -1192,7 +1240,7 @@ if { [isnative] [list \ "Run pr21168" \ "tmpdir/pr21168a.o tmpdir/pr21168.so" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { dummy.c } \ "pr21168" \ "pass.out" \ @@ -1204,7 +1252,7 @@ if { [isnative] [list \ "Build pr21168.so with -z ibtplt" \ "-shared -Wl,-z,ibtplt" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { pr21168b.S } \ "" \ "pr21168-ibt.so" \ @@ -1213,7 +1261,7 @@ if { [isnative] "Build ifunc-1a with -z ibtplt" \ "-Wl,-z,ibtplt $NOPIE_LDFLAGS tmpdir/ifunc-1a.o \ tmpdir/ifunc-1b.o tmpdir/ifunc-1c.o tmpdir/ifunc-1d.o" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { dummy.c } \ {{objdump {-dw} plt-main-ibt.dd}} \ "ifunc-1a-ibt" \ @@ -1222,7 +1270,7 @@ if { [isnative] "Build ifunc-1a with PIE -z ibtplt" \ "-Wl,-z,ibtplt -pie tmpdir/ifunc-1a.o \ tmpdir/ifunc-1b.o tmpdir/ifunc-1c.o tmpdir/ifunc-1d.o" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { dummy.c } \ {{objdump {-dw} plt-pie-ibt.dd}} \ "ifunc-1a-pie-ibt" \ @@ -1234,7 +1282,7 @@ if { [isnative] "Run ifunc-1a with -z ibtplt" \ "-Wl,-z,ibtplt $NOPIE_LDFLAGS tmpdir/ifunc-1a.o \ tmpdir/ifunc-1b.o tmpdir/ifunc-1c.o tmpdir/ifunc-1d.o" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { dummy.c } \ "ifunc-1a-ibt" \ "pass.out" \ @@ -1243,7 +1291,7 @@ if { [isnative] "Run ifunc-1a with PIE -z ibtplt" \ "-Wl,-z,ibtplt -pie tmpdir/ifunc-1a.o \ tmpdir/ifunc-1b.o tmpdir/ifunc-1c.o tmpdir/ifunc-1d.o" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { dummy.c } \ "ifunc-1a-pie-ibt" \ "pass.out" \ @@ -1251,7 +1299,7 @@ if { [isnative] [list \ "Run pr21168 with -z ibtplt" \ "tmpdir/pr21168a.o tmpdir/pr21168-ibt.so" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { dummy.c } \ "pr21168-ibt" \ "pass.out" \ @@ -1263,12 +1311,12 @@ if { [isnative] # Must be native with the C compiler. if { [isnative] && [istarget "i?86-*-*"] - && [which $CC] != 0 } { + && [check_compiler_available] } { run_cc_link_tests [list \ [list \ "Build pr22001-1.so" \ "-shared" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { pr22001-1a.c } \ {} \ "pr22001-1.so" \ @@ -1276,7 +1324,7 @@ if { [isnative] [list \ "Build pr21997-1.so" \ "-shared" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { property-stack.S property-no-copy.S pr21997-1a.S } \ {} \ "pr21997-1.so" \ @@ -1284,7 +1332,7 @@ if { [isnative] [list \ "Build pr22842.so" \ "-shared" \ - "-fPIC" \ + "-fPIC -Wa,-mx86-used-note=yes" \ { pr22842a.c } \ {} \ "pr22842.so" \ @@ -1295,7 +1343,7 @@ if { [isnative] [list \ "Run weakundef1 without PIE" \ "$NOPIE_LDFLAGS" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { weakundef1.c } \ "weakundef1pie" \ "pass.out" \ @@ -1304,7 +1352,7 @@ if { [isnative] [list \ "Run pr22001-1" \ "$NOPIE_LDFLAGS -Wl,-z,nocopyreloc,--no-as-needed tmpdir/pr22001-1.so" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { pr22001-1b.c } \ "pr22001-1" \ "pass.out" \ @@ -1313,7 +1361,7 @@ if { [isnative] [list \ "Run pr22001-1 (PIE 1)" \ "$NOPIE_LDFLAGS -Wl,-z,nocopyreloc,--no-as-needed tmpdir/pr22001-1.so" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { pr22001-1c.S } \ "pr22001-1-pie-1" \ "pass.out" \ @@ -1321,7 +1369,7 @@ if { [isnative] [list \ "Run pr22001-1 (PIE 2)" \ "-pie -Wl,-z,nocopyreloc,--no-as-needed tmpdir/pr22001-1.so" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { pr22001-1c.S } \ "pr22001-1-pie-2" \ "pass.out" \ @@ -1329,7 +1377,7 @@ if { [isnative] [list \ "Run pr22001-1 (PIC 1)" \ "$NOPIE_LDFLAGS -Wl,-z,nocopyreloc,--no-as-needed tmpdir/pr22001-1.so" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { pr22001-1b.c } \ "pr22001-1-pic-1" \ "pass.out" \ @@ -1338,7 +1386,7 @@ if { [isnative] [list \ "Run pr22001-1 (PIC 2)" \ "-pie -Wl,-z,nocopyreloc,--no-as-needed tmpdir/pr22001-1.so" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { pr22001-1b.c } \ "pr22001-1-pic-2" \ "pass.out" \ @@ -1347,7 +1395,7 @@ if { [isnative] [list \ "Run pr21997-1" \ "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/pr21997-1.so" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { pr21997-1b.c } \ "pr21997-1" \ "pass.out" \ @@ -1356,7 +1404,7 @@ if { [isnative] [list \ "Run pr21997-1 (PIC 1)" \ "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/pr21997-1.so" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { pr21997-1b.c } \ "pr21997-1-pic-1" \ "pass.out" \ @@ -1365,7 +1413,7 @@ if { [isnative] [list \ "Run pr21997-1 (PIC 2)" \ "-pie -Wl,--no-as-needed tmpdir/pr21997-1.so" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { pr21997-1b.c } \ "pr21997-1-pic-2" \ "pass.out" \ @@ -1374,7 +1422,7 @@ if { [isnative] [list \ "Run pr21997-1 (PIE 1)" \ "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/pr21997-1.so" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { pr21997-1c.S } \ "pr21997-1-pie-1" \ "pass.out" \ @@ -1382,7 +1430,7 @@ if { [isnative] [list \ "Run pr21997-1 (PIE 2)" \ "-pie -Wl,--no-as-needed tmpdir/pr21997-1.so" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { pr21997-1c.S } \ "pr21997-1-pie-2" \ "pass.out" \ @@ -1390,11 +1438,20 @@ if { [isnative] [list \ "Build pr22842" \ "-pie -Wl,--no-as-needed tmpdir/pr22842.so" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { pr22842b.S } \ "pr22842" \ "pass.out" \ ] \ + [list \ + "Run pr23997" \ + "" \ + "" \ + { ../ld-x86-64/pr23997a.s ../ld-x86-64/pr23997b.c \ + ../ld-x86-64/pr23997c.c } \ + "pr23997" \ + "pass.out" \ + ] \ ] if { [at_least_gcc_version 5 0] } { @@ -1402,7 +1459,7 @@ if { [isnative] [list \ "Run weakundef1 with PIE" \ "-pie" \ - "" \ + "-Wa,-mx86-used-note=yes" \ { weakundef1.c } \ "weakundef1pie" \ "pass.out" \ @@ -1414,6 +1471,7 @@ if { [isnative] if { !([istarget "i?86-*-linux*"] || [istarget "x86_64-*-linux*"]) } { + set ASFLAGS "$saved_ASFLAGS" return } @@ -1432,7 +1490,7 @@ run_ld_link_tests [list \ "basic PLT generation (PIC, -z now)" \ "-z now -shared -melf_i386 tmpdir/libpltlib.so" \ "" \ - "--32" \ + "--32 -mx86-used-note=yes" \ {plt-pic.s} \ {{objdump -dwr plt-pic2.dd}} \ "plt-pic2.so" \ @@ -1441,7 +1499,7 @@ run_ld_link_tests [list \ "Build pr21626.so" \ "-shared -melf_i386" \ "" \ - "--32" \ + "--32 -mx86-used-note=yes" \ {property-x86-3.s} \ "" \ "pr21626.so" \ @@ -1450,7 +1508,7 @@ run_ld_link_tests [list \ "Build pr21626" \ "-melf_i386 tmpdir/pr21626.so" \ "" \ - "--32" \ + "--32 -mx86-used-note=yes" \ {start.s foo.s} \ "" \ "pr21626" \ @@ -1470,3 +1528,5 @@ run_dump_test "ibt-plt-3a" run_dump_test "ibt-plt-3b" run_dump_test "ibt-plt-3c" run_dump_test "ibt-plt-3d" + +set ASFLAGS "$saved_ASFLAGS"