# Expect script for linker support of size relocations.
#
-# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Copyright (C) 2013-2019 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
#
-# Size relications have only been implemented for the ix86 and x86_64,
+# Size relocations have only been implemented for the ix86 and x86_64,
# so far.
if {!(([istarget "i?86-*-*"]
|| [istarget "x86_64-*-*"])
&& ([istarget "*-*-elf*"]
|| [istarget "*-*-nacl*"]
- || (([istarget "*-*-linux*"]
- || [istarget "*-*-gnu*"])
- && ![istarget "*-*-*aout*"]
- && ![istarget "*-*-*oldld*"]))) } {
+ || [istarget "*-*-linux*"]
+ || [istarget "*-*-gnu*"])) } {
verbose "Size relocations tests not run - no target support"
return
}
run_dump_test [file rootname $t]
}
-# We need a native system.
-if ![isnative] {
- verbose "Native size relocation tests not run - not a native toolchain"
- return
-}
-
# We need a working compiler.
-if { [which $CC] == 0 } {
+if { ![check_compiler_available] } {
verbose "Native size relocation tests not run - no compiler available"
return
}
}
# Run-time size relocation tests.
-run_ld_link_exec_tests [] [list \
+run_ld_link_exec_tests [list \
[list \
"Run size-1" \
- "tmpdir/libsize-1.so" \
+ "-Wl,--no-as-needed tmpdir/libsize-1.so" \
"" \
{size-1.c} \
"size-1" \
] \
[list \
"Run size-2" \
- "tmpdir/libsize-2.so" \
+ "-Wl,--no-as-needed tmpdir/libsize-2.so" \
"" \
{size-2.c} \
"size-2" \
] \
[list \
"Run size-3b" \
- "tmpdir/libsize-3a.so" \
+ "-Wl,--no-as-needed tmpdir/libsize-3a.so" \
"" \
{size-3.c} \
"size-3b" \
] \
[list \
"Run size-3d (1)" \
- "tmpdir/libsize-3b.so" \
+ "-Wl,--no-as-needed tmpdir/libsize-3b.so" \
"" \
{size-3.c} \
"size-3d1" \
"size-3.out" \
] \
[list \
- {"Run size-3e"
- "tmpdir/libsize-3c.so" ""
- {size-3.c} "size-3e" "size-3.out"}
+ {"Run size-3e" \
+ "-Wl,--no-as-needed tmpdir/libsize-3c.so" "" \
+ {size-3.c} "size-3e" "size-3.out"} \
] \
[list \
"Run size-4a" \
- "" \
+ "$NOPIE_LDFLAGS" \
"" \
{size-4a.c size-4b.c} \
"size-4a" \
] \
[list \
"Run size-4b" \
- "" \
+ "$NOPIE_LDFLAGS" \
"" \
{size-4b.c size-4a.c} \
"size-4b" \
] \
[list \
"Run size-5a" \
- "" \
+ "$NOPIE_LDFLAGS" \
"" \
{size-5a.c size-5b.c} \
"size-5a" \
] \
[list \
"Run size-5b" \
- "" \
+ "$NOPIE_LDFLAGS" \
"" \
{size-5b.c size-5a.c} \
"size-5b" \
] \
[list \
"Run size-6" \
- "tmpdir/libsize-6b.so" \
+ "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/libsize-6b.so" \
"" \
{size-6a.c} \
"size-6" \
] \
[list \
"Run size-8" \
- "tmpdir/libsize-8.so --hash-styl=gnu" \
+ "$NOPIE_LDFLAGS -Wl,--no-as-needed,--hash-styl=gnu \
+ tmpdir/libsize-8.so" \
"" \
{size-8a.c} \
"size-8" \
] \
[list \
"Run size-9" \
- "tmpdir/libsize-9.so" \
+ "-Wl,--no-as-needed tmpdir/libsize-9.so" \
"" \
{size-9a.c} \
"size-9" \
] \
[list \
"Run size-10" \
- "tmpdir/libsize-10.so" \
+ "-Wl,--no-as-needed tmpdir/libsize-10.so" \
"" \
{size-10a.c} \
"size-10" \