# Expect script for ld-visibility tests
-# Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2010, 2012
-# Free Software Foundation, Inc.
+# Copyright (C) 2000-2016 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
set tmpdir tmpdir
set SHCFLAG ""
set shared_needs_pic "no"
+set COMPRESS_LDFLAG "-Wl,--compress-debug-sections=zlib-gabi"
if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } {
global target_triplet
global support_protected
global shared_needs_pic
+ global PLT_CFLAGS
+ global COMPRESS_LDFLAG
if [ string match $visibility "hidden" ] {
set VSBCFLAG "-DHIDDEN_TEST"
# 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 {
# 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
} else { if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } {
visibility_test $visibility vp "visibility ($visibility)" mainnp.o sh1p.o sh2p.o xcoff
} else {
- visibility_test $visibility vp "visibility ($visibility)" mainnp.o sh1p.o sh2p.o elfvsb
+ visibility_test $visibility vp "visibility ($visibility)" mainnp.o sh1p.o sh2p.o elfvsb $COMPRESS_LDFLAG
} }
}
}}