X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=ld%2Ftestsuite%2Fld-elf%2Fshared.exp;h=b1762aff9be16b94503676e4bdc5bc2a20199ce4;hb=3024a17ae029ec7f55b498e99ddd6238e22fe565;hp=b5a01c9379bd6c22fe1830796857ec9b09c32ab1;hpb=e6aded7c34054a2eea55ec56ca3b997ddd0197cf;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/testsuite/ld-elf/shared.exp b/ld/testsuite/ld-elf/shared.exp index b5a01c9379..b1762aff9b 100644 --- a/ld/testsuite/ld-elf/shared.exp +++ b/ld/testsuite/ld-elf/shared.exp @@ -1,5 +1,5 @@ # Expect script for various ELF tests. -# Copyright (C) 2006-2019 Free Software Foundation, Inc. +# Copyright (C) 2006-2020 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -337,6 +337,38 @@ if { [check_gc_sections_available] } { "pr22150" \ ] \ ] + + switch -glob $target_triplet { + # exclude targets that don't support copy relocs + bfin-*-* { } + frv-*-* { } + lm32-*-* { } + mips*-*-* { } + tic6x-*-* { } + xtensa-*-* { } + default { + run_ld_link_tests [list \ + [list \ + "Build pr25458.so" \ + "$LFLAGS -shared --version-script=pr25458.map" \ + "" \ + "$AFLAGS_PIC" \ + {pr25458b.s} \ + {} \ + "pr25458.so" \ + ] \ + [list \ + "Build pr25458" \ + "$LFLAGS -e _start --gc-sections" \ + "tmpdir/pr25458.so" \ + "$AFLAGS_PIC" \ + {pr25458a.s} \ + {{readelf {--dyn-sym --wide} pr25458.rd}} \ + "pr25458" \ + ] \ + ] + } + } } set ASFLAGS $old_ASFLAGS @@ -358,14 +390,14 @@ run_ld_link_tests [list \ ] "bfin-*-*" # Targets that use _bfd_generic_link_add_symbols won't pass pr21703 tests -# Not will hppa64 with dot-symbols. +# Nor will hppa64 with dot-symbols. run_ld_link_tests [list \ [list "PR ld/21703 shared" \ "-shared --allow-multiple-definition --version-script pr21703.ver\ tmpdir/pr21703-3.o tmpdir/pr21703-4.o" "" "$AFLAGS_PIC" \ {pr21703-3.s pr21703-4.s} {{readelf {--dyn-syms} pr21703-shared.sd}} \ "pr21703.so" ] \ -] "d30v-*-*" "dlx-*-*" "pj-*-*" "hppa64-*-*" "xgate-*-*" +] \[is_generic\] hppa64-*-* # This target requires extra GAS options when building non-PIC code # for linking with shared libraries. @@ -498,7 +530,7 @@ if { [istarget *-*-linux*] } # Check to see if the C compiler works -if { [which $CC] == 0 } { +if { ![check_compiler_available] } { return } @@ -603,7 +635,7 @@ set build_tests { "-shared" "-fPIC" {data2.c} {} "libdata2.so"} {"Build libcomm1.o" - "-r -nostdlib" "" + "-r -nostdlib" "-fcommon" {comm1.c} {} "libcomm1.o"} {"Build libfunc1.so" "-shared" "-fPIC" @@ -634,16 +666,16 @@ set build_tests { "-r -nostdlib" "" {pr11138-2.c} {} "libpr11138-2.o"} {"Build pr13250-1.so" - "-shared" "-fPIC" + "-shared" "-fPIC -fcommon" {pr13250-1.c} {} "libpr13250-1.so"} {"Build pr13250-2.so with libpr13250-1.so" - "-shared -Wl,--no-as-needed tmpdir/libpr13250-1.so" "-fPIC" + "-shared -Wl,--no-as-needed tmpdir/libpr13250-1.so" "-fPIC -fcommon" {pr13250-2.c} {} "libpr13250-2.so"} {"Build libpr13250-3.o" - "-r -nostdlib" "" + "-r -nostdlib" "-fcommon" {pr13250-3.c} {} "libpr13250-3.o"} {"Build libpr14323-2.so" - "-shared" "-fPIC" + "-shared" "-fPIC -fcommon" {pr14323-2.c} {} "libpr14323-2.so"} {"Build pr14862-1.o" "-r -nostdlib" "" @@ -781,8 +813,8 @@ run_cc_link_tests $build_tests run_ld_link_tests [list \ [list \ - "Build pr22269-1" \ - "-pie -e _start --no-dynamic-linker -z text" \ + "pr22269-1 (static pie undefined weak)" \ + "-pie -e _start --no-dynamic-linker -z text -z nocombreloc " \ "" \ "$AFLAGS_PIC" \ { pr22269-1.c } \ @@ -879,7 +911,7 @@ set run_tests [list \ "-Wl,--no-as-needed,--version-script=pr11138-2.map tmpdir/libpr11138-1.so tmpdir/pr11138-2.o" "" \ {dummy.c} "pr11138b" "pr11138.out" ] \ [list "Run with pr13250-3.c, libpr13250-1.so and libpr13250-2.so" \ - "-Wl,--as-needed tmpdir/pr13250-3.o tmpdir/libpr13250-1.so tmpdir/libpr13250-2.so" "" \ + "-Wl,--as-needed tmpdir/pr13250-3.o tmpdir/libpr13250-1.so tmpdir/libpr13250-2.so" "-fcommon" \ {dummy.c} "pr13250" "pass.out" ] \ [list "Run with pr14323-1.c pr14323-2.so" \ "-Wl,--no-as-needed tmpdir/libpr14323-2.so" "" \ @@ -1061,7 +1093,7 @@ if { [istarget *-*-linux*] ] \ [list \ "Build pr19579a.o" \ - "" "-fPIE" \ + "" "-fPIE -fcommon" \ {pr19579a.c} \ {} \ "libpr19579a.a" \ @@ -1069,7 +1101,7 @@ if { [istarget *-*-linux*] [list \ "Build libpr19579.so" \ "-shared" \ - "-fPIC" \ + "-fPIC -fcommon" \ {pr19579b.c} \ {} \ "libpr19579.so" \ @@ -1077,7 +1109,7 @@ if { [istarget *-*-linux*] [list \ "Build libpr19579now.so" \ "-shared -Wl,-z,now" \ - "-fPIC" \ + "-fPIC -fcommon" \ {pr19579b.c} \ {} \ "libpr19579.so" \