From faebca0390ceef085f383d42423e14079dcd0a48 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 27 Jul 2015 05:15:01 -0700 Subject: [PATCH] Pass $PLT_CFLAGS to ld_compile Some linker visibility tests without PIC expect PLT. This patch passes $PLT_CFLAGS to ld_compile. * ld-elfvsb/elfvsb.exp (visibility_run): Pass $PLT_CFLAGS to ld_compile. --- ld/testsuite/ChangeLog | 5 +++++ ld/testsuite/ld-elfvsb/elfvsb.exp | 12 +++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index b2e85ed6fdf..bac91723be2 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-07-27 H.J. Lu + + * ld-elfvsb/elfvsb.exp (visibility_run): Pass $PLT_CFLAGS to + ld_compile. + 2015-07-27 H.J. Lu * ld-elfvers/vers.exp (build_vers_lib_no_pic): Pass $PLT_CFLAGS diff --git a/ld/testsuite/ld-elfvsb/elfvsb.exp b/ld/testsuite/ld-elfvsb/elfvsb.exp index 8ae8c3d934d..e02d4faeee2 100644 --- a/ld/testsuite/ld-elfvsb/elfvsb.exp +++ b/ld/testsuite/ld-elfvsb/elfvsb.exp @@ -227,6 +227,7 @@ proc visibility_run {visibility} { global target_triplet global support_protected global shared_needs_pic + global PLT_CFLAGS if [ string match $visibility "hidden" ] { set VSBCFLAG "-DHIDDEN_TEST" @@ -259,8 +260,9 @@ proc visibility_run {visibility} { # functions and variables not being overridable. Newer versions # of gcc are more likely to do this. } else { - # Compile the main program. - if ![ld_compile "$CC -g $CFLAGS $SHCFLAG $VSBCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o] { + # Compile the main program. Make sure that PLT is used since PLT + # is expected. + if ![ld_compile "$CC -g $PLT_CFLAGS $CFLAGS $SHCFLAG $VSBCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o] { unresolved "visibility ($visibility) (non PIC)" unresolved "visibility ($visibility)" } else { @@ -269,9 +271,9 @@ proc visibility_run {visibility} { # although it will be less efficient because the dynamic linker # will need to do more relocation work. However, note that not # using -fpic will cause some of the tests to return different - # results. - if { ![ld_compile "$CC -g $CFLAGS $SHCFLAG $VSBCFLAG" $srcdir/$subdir/sh1.c $tmpdir/sh1np.o] - || ![ld_compile "$CC -g $CFLAGS $SHCFLAG $VSBCFLAG" $srcdir/$subdir/sh2.c $tmpdir/sh2np.o] } { + # results. Make sure that PLT is used since PLT is expected. + if { ![ld_compile "$CC -g $PLT_CFLAGS $CFLAGS $SHCFLAG $VSBCFLAG" $srcdir/$subdir/sh1.c $tmpdir/sh1np.o] + || ![ld_compile "$CC -g $PLT_CFLAGS $CFLAGS $SHCFLAG $VSBCFLAG" $srcdir/$subdir/sh2.c $tmpdir/sh2np.o] } { unresolved "visibility ($visibility) (non PIC)" } else { if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } { visibility_test $visibility vnp "visibility ($visibility) (non PIC)" mainnp.o sh1np.o sh2np.o xcoff -- 2.30.2