This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Make gold testsuite work with CC and CXX specifying -B


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5acaada74578ee6a902255f0272d5f3115b76309

commit 5acaada74578ee6a902255f0272d5f3115b76309
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Nov 2 21:27:02 2018 +1030

    Make gold testsuite work with CC and CXX specifying -B
    
    The patch allows the gold testsuite to pass when using something like
    the following configure line, which works for the rest of the binutils
    testsuite.  At least, it does if you don't configure your gcc with any
    of the options that force a particular path to as or ld.
    
    gccdir="/home/alan/build/gcc/prev-"
    gccsrc="/home/alan/src/gcc.git"
    gcctarg="x86_64-linux"
    CC="${gccdir}gcc/xgcc -B${gccdir}gcc/" \
    CXX="${gccdir}gcc/xg++ -B${gccdir}gcc/ -I${gccdir}$gcctarg/libstdc++-v3/include -I${gccdir}$gcctarg/libstdc++-v3/include/$gcctarg -I${gccsrc}/libstdc++-v3/libsupc++ -L${gccdir}$gcctarg/libstdc++-v3/src/.libs/" \
    ~/src/binutils-gdb/configure ...
    
    gold's -Bgcctestdir/ option must come before the -B supplied by $CC
    or $CXX, in order to pick up the linker we want to test.  Also when
    using a not-yet-installed gcc, it is necessary to provide a collect-ld
    in gcctestdir/ as otherwise a collect-ld script in -B${gccdir}gcc/
    will be used and the wrong linker tested.
    
    Besides this, the patch fixes some bugs: The $COMPILE -D_FORTIFY_SOURCE
    edit was wrong (but worked for usual values), and the $CXXLINK_S edit
    unnecessarily but harmlessly used extra backslash quoting.  See
    posix shell documentation regarding quoting, or
    www.gnu.org/software/bash/manual/bashref.html#Command-Substitution
    
    Also, -Bgcctestdir/ in one place makes it less likely a new test will
    be added that accidentally lacks the option.
    
    	* Makefile.am (gcctestdir1/ld): Use $@ and absolute paths.
    	(gcctestdir1/collect-ld): New.
    	(ld1_DEPENDENCIES): Add gcctestdir1/collect-ld.
    	(ld1_LDFLAGS): Remove -Bgcctestdir1/.
    	(editcc1, ld1_LINK): Define.
    	(gcctestdir2/ld, gcctestdir2/collect-ld, ld2_DEPENDENCIES),
    	(ld2_LDFLAGS, editcc2, ld2_LINK),
    	(ld1_r_DEPENDENCIES, ld1_r_LDFLAGS, ld1_r_LINK),
    	(gcctestdir2-r/ld, gcctestdir2-r/collect-ld, ld2_r_DEPENDENCIES),
    	(ld2_r_LDFLAGS, editcc2r, ld2_r_LINK),
    	(gcctestdir3/ld, gcctestdir3/collect-ld, ld3_DEPENDENCIES),
    	(ld3_LDFLAGS, editcc3, ld3_LINK),
    	(gcctestdir4/ld, gcctestdir4/collect-ld, ld4_DEPENDENCIES),
    	(ld4_LDFLAGS, editcc4, ld4_LINK): Similarly.
    	* Makefile.in: Regenerate.
    	* testsuite/Makefile.am (editcc): Define sed command to put
    	our -B option first.  Remove other occurrences of -Bgcctestdir/
    	throughout file.
    	(editcc1): Define for -D_FORTIFY_SOURCE stripping.
    	(editcc2): Define for -static-libgcc/libstdc++ stripping.
    	(LINK1, CXXLINK1): Don't use CCLD or CXXLD.
    	(CCLD, CXXLD, COMPILE, LINK, CXXCOMPILE, CXXLINK, CXXLINK_S): Define
    	using editcc macros.
    	(gcctestdir/collect-ld): New rule, add as a dependency of..
    	(gcctestdir/ld): ..this.  Use $@ and abs_top_buildir.
    	(gcctestdir/as): Use $@.
    	* testsuite/Makefile.in: Regenerate.
    	* testsuite/incremental_test.sh (actual): Match collect-ld too.

Diff:
---
 gold/ChangeLog                     |  31 ++
 gold/Makefile.am                   |  75 ++--
 gold/Makefile.in                   | 119 +++---
 gold/testsuite/Makefile.am         | 788 +++++++++++++++++-----------------
 gold/testsuite/Makefile.in         | 841 ++++++++++++++++++-------------------
 gold/testsuite/incremental_test.sh |   2 +-
 6 files changed, 933 insertions(+), 923 deletions(-)

diff --git a/gold/ChangeLog b/gold/ChangeLog
index c468976..816f7b3 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,34 @@
+2018-11-08  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am (gcctestdir1/ld): Use $@ and absolute paths.
+	(gcctestdir1/collect-ld): New.
+	(ld1_DEPENDENCIES): Add gcctestdir1/collect-ld.
+	(ld1_LDFLAGS): Remove -Bgcctestdir1/.
+	(editcc1, ld1_LINK): Define.
+	(gcctestdir2/ld, gcctestdir2/collect-ld, ld2_DEPENDENCIES),
+	(ld2_LDFLAGS, editcc2, ld2_LINK),
+	(ld1_r_DEPENDENCIES, ld1_r_LDFLAGS, ld1_r_LINK),
+	(gcctestdir2-r/ld, gcctestdir2-r/collect-ld, ld2_r_DEPENDENCIES),
+	(ld2_r_LDFLAGS, editcc2r, ld2_r_LINK),
+	(gcctestdir3/ld, gcctestdir3/collect-ld, ld3_DEPENDENCIES),
+	(ld3_LDFLAGS, editcc3, ld3_LINK),
+	(gcctestdir4/ld, gcctestdir4/collect-ld, ld4_DEPENDENCIES),
+	(ld4_LDFLAGS, editcc4, ld4_LINK): Similarly.
+	* Makefile.in: Regenerate.
+	* testsuite/Makefile.am (editcc): Define sed command to put
+	our -B option first.  Remove other occurrences of -Bgcctestdir/
+	throughout file.
+	(editcc1): Define for -D_FORTIFY_SOURCE stripping.
+	(editcc2): Define for -static-libgcc/libstdc++ stripping.
+	(LINK1, CXXLINK1): Don't use CCLD or CXXLD.
+	(CCLD, CXXLD, COMPILE, LINK, CXXCOMPILE, CXXLINK, CXXLINK_S): Define
+	using editcc macros.
+	(gcctestdir/collect-ld): New rule, add as a dependency of..
+	(gcctestdir/ld): ..this.  Use $@ and abs_top_buildir.
+	(gcctestdir/as): Use $@.
+	* testsuite/Makefile.in: Regenerate.
+	* testsuite/incremental_test.sh (actual): Match collect-ld too.
+
 2018-11-02  Alan Modra  <amodra@gmail.com>
 
 	* Makefile.am (MOSTLYCLEANFILES): Define.
diff --git a/gold/Makefile.am b/gold/Makefile.am
index fd0a359..dc05b5f 100644
--- a/gold/Makefile.am
+++ b/gold/Makefile.am
@@ -260,25 +260,29 @@ po/POTFILES.in: @MAINT@ Makefile
 if GCC
 if NATIVE_LINKER
 
-gcctestdir1/ld: ld-new
+gcctestdir1/ld gcctestdir1/collect-ld: ld-new
 	test -d gcctestdir1 || mkdir -p gcctestdir1
-	rm -f gcctestdir1/ld
-	(cd gcctestdir1 && $(LN_S) ../ld-new ld)
+	rm -f $@
+	$(LN_S) $(abs_top_builddir)/ld-new $@
 
 ld1_SOURCES = $(sources_var)
-ld1_DEPENDENCIES = $(deps_var) gcctestdir1/ld
+ld1_DEPENDENCIES = $(deps_var) gcctestdir1/ld gcctestdir1/collect-ld
 ld1_LDADD = $(ldadd_var)
-ld1_LDFLAGS = -Bgcctestdir1/
+editcc1 = -e 's/\([^ ]*\)\(.*\)/\1 -Bgcctestdir1\/\2/'
+ld1_LINK = `echo $(CXXLD) | sed $(editcc1)`\
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(ld1_LDFLAGS) $(LDFLAGS) -o $@
 
-gcctestdir2/ld: ld1
+gcctestdir2/ld gcctestdir2/collect-ld: ld1
 	test -d gcctestdir2 || mkdir -p gcctestdir2
-	rm -f gcctestdir2/ld
-	(cd gcctestdir2 && $(LN_S) ../ld1 ld)
+	rm -f $@
+	$(LN_S) $(abs_top_builddir)/ld1 $@
 
 ld2_SOURCES = $(sources_var)
-ld2_DEPENDENCIES = $(deps_var) gcctestdir2/ld
+ld2_DEPENDENCIES = $(deps_var) gcctestdir2/ld gcctestdir2/collect-ld
 ld2_LDADD = $(ldadd_var)
-ld2_LDFLAGS = -Bgcctestdir2/
+editcc2 = -e 's/\([^ ]*\)\(.*\)/\1 -Bgcctestdir2\/\2/'
+ld2_LINK = `echo $(CXXLD) | sed $(editcc2)`\
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(ld2_LDFLAGS) $(LDFLAGS) -o $@
 
 bootstrap-test: ld2
 	rm -f $@
@@ -290,22 +294,25 @@ libgold-1-r.o: gcctestdir1/ld libgold.a
 	gcctestdir1/ld -o $@ -r --whole-archive libgold.a
 
 ld1_r_SOURCES = $(sources_var)
-ld1_r_DEPENDENCIES = libgold-1-r.o $(deps_var) gcctestdir1/ld
+ld1_r_DEPENDENCIES = libgold-1-r.o $(deps_var) gcctestdir1/ld gcctestdir1/collect-ld
 ld1_r_LDADD = libgold-1-r.o $(ldadd_var)
-ld1_r_LDFLAGS = -Bgcctestdir1/
+ld1_r_LINK = `echo $(CXXLD) | sed $(editcc1)`\
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@
 
-gcctestdir2-r/ld: ld1-r
+gcctestdir2-r/ld gcctestdir2-r/collect-ld: ld1-r
 	test -d gcctestdir2-r || mkdir -p gcctestdir2-r
-	rm -f gcctestdir2-r/ld
-	(cd gcctestdir2-r && $(LN_S) ../ld1-r ld)
+	rm -f $@
+	$(LN_S) $(abs_top_builddir)/ld1-r $@
 
 libgold-2-r.o: gcctestdir2-r/ld libgold.a
 	gcctestdir2-r/ld -o $@ -r --whole-archive libgold.a
 
 ld2_r_SOURCES = $(sources_var)
-ld2_r_DEPENDENCIES = libgold-2-r.o $(deps_var) gcctestdir2-r/ld
+ld2_r_DEPENDENCIES = libgold-2-r.o $(deps_var) gcctestdir2-r/ld gcctestdir2-r/collect-ld
 ld2_r_LDADD = libgold-2-r.o $(ldadd_var)
-ld2_r_LDFLAGS = -Bgcctestdir2-r/
+editcc2r = -e 's/\([^ ]*\)\(.*\)/\1 -Bgcctestdir2-r\/\2/'
+ld2_r_LINK = `echo $(CXXLD) | sed $(editcc2r)`\
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@
 
 bootstrap-test-r: ld2-r
 	rm -f $@
@@ -327,30 +334,34 @@ check_PROGRAMS += ld4
 TESTS += bootstrap-test-treehash-chunksize
 MOSTLYCLEANFILES += bootstrap-test-treehash-chunksize
 
-gcctestdir3/ld: ld-new
+gcctestdir3/ld gcctestdir3/collect-ld: ld-new
 	test -d gcctestdir3 || mkdir -p gcctestdir3
-	rm -f gcctestdir3/ld
-	(cd gcctestdir3 && $(LN_S) ../ld-new ld)
+	rm -f $@
+	$(LN_S) $(abs_top_builddir)/ld-new $@
 
 ld3_SOURCES = $(sources_var)
-ld3_DEPENDENCIES = $(deps_var) gcctestdir3/ld
+ld3_DEPENDENCIES = $(deps_var) gcctestdir3/ld gcctestdir3/collect-ld
 ld3_LDADD = $(ldadd_var)
-ld3_LDFLAGS = -Bgcctestdir3/
+editcc3 = -e 's/\([^ ]*\)\(.*\)/\1 -Bgcctestdir3\/\2/'
+ld3_LINK = `echo $(CXXLD) | sed $(editcc3)`\
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(ld3_LDFLAGS) $(LDFLAGS) -o $@
 
-gcctestdir4/ld: ld-new
+gcctestdir4/ld gcctestdir4/collect-ld: ld-new
 	test -d gcctestdir4 || mkdir -p gcctestdir4
-	rm -f gcctestdir4/ld
-	(cd gcctestdir4 && $(LN_S) ../ld-new ld)
+	rm -f $@
+	$(LN_S) $(abs_top_builddir)/ld-new $@
 
 ld4_SOURCES = $(sources_var)
-ld4_DEPENDENCIES = $(deps_var) gcctestdir4/ld
+ld4_DEPENDENCIES = $(deps_var) gcctestdir4/ld gcctestdir4/collect-ld
 ld4_LDADD = $(ldadd_var)
-ld4_LDFLAGS = -Bgcctestdir4/
-
-ld1_LDFLAGS += -Wl,--build-id=tree -Wl,--build-id-chunk-size-for-treehash=12345 -Wl,--build-id-min-file-size-for-treehash=0
-ld2_LDFLAGS += -Wl,--build-id=tree -Wl,--build-id-chunk-size-for-treehash=12345 -Wl,--build-id-min-file-size-for-treehash=0
-ld3_LDFLAGS += -Wl,--build-id=tree -Wl,--build-id-chunk-size-for-treehash=12345 -Wl,--build-id-min-file-size-for-treehash=0
-ld4_LDFLAGS += -Wl,--build-id=tree -Wl,--build-id-chunk-size-for-treehash=12346 -Wl,--build-id-min-file-size-for-treehash=0
+editcc4 = -e 's/\([^ ]*\)\(.*\)/\1 -Bgcctestdir4\/\2/'
+ld4_LINK = `echo $(CXXLD) | sed $(editcc4)`\
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(ld4_LDFLAGS) $(LDFLAGS) -o $@
+
+ld1_LDFLAGS = -Wl,--build-id=tree -Wl,--build-id-chunk-size-for-treehash=12345 -Wl,--build-id-min-file-size-for-treehash=0
+ld2_LDFLAGS = -Wl,--build-id=tree -Wl,--build-id-chunk-size-for-treehash=12345 -Wl,--build-id-min-file-size-for-treehash=0
+ld3_LDFLAGS = -Wl,--build-id=tree -Wl,--build-id-chunk-size-for-treehash=12345 -Wl,--build-id-min-file-size-for-treehash=0
+ld4_LDFLAGS = -Wl,--build-id=tree -Wl,--build-id-chunk-size-for-treehash=12346 -Wl,--build-id-min-file-size-for-treehash=0
 
 if THREADS
 
diff --git a/gold/Makefile.in b/gold/Makefile.in
index 2c43cf0..7cc26b7 100644
--- a/gold/Makefile.in
+++ b/gold/Makefile.in
@@ -198,28 +198,16 @@ ld_new_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ld_new_LDFLAGS) \
 	$(LDFLAGS) -o $@
 @GCC_TRUE@@NATIVE_LINKER_TRUE@am_ld1_OBJECTS = $(am__objects_4)
 ld1_OBJECTS = $(am_ld1_OBJECTS)
-ld1_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ld1_LDFLAGS) \
-	$(LDFLAGS) -o $@
 @GCC_TRUE@@NATIVE_LINKER_TRUE@am_ld1_r_OBJECTS = $(am__objects_4)
 ld1_r_OBJECTS = $(am_ld1_r_OBJECTS)
-ld1_r_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ld1_r_LDFLAGS) \
-	$(LDFLAGS) -o $@
 @GCC_TRUE@@NATIVE_LINKER_TRUE@am_ld2_OBJECTS = $(am__objects_4)
 ld2_OBJECTS = $(am_ld2_OBJECTS)
-ld2_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ld2_LDFLAGS) \
-	$(LDFLAGS) -o $@
 @GCC_TRUE@@NATIVE_LINKER_TRUE@am_ld2_r_OBJECTS = $(am__objects_4)
 ld2_r_OBJECTS = $(am_ld2_r_OBJECTS)
-ld2_r_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ld2_r_LDFLAGS) \
-	$(LDFLAGS) -o $@
 @GCC_TRUE@@NATIVE_LINKER_TRUE@am_ld3_OBJECTS = $(am__objects_4)
 ld3_OBJECTS = $(am_ld3_OBJECTS)
-ld3_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ld3_LDFLAGS) \
-	$(LDFLAGS) -o $@
 @GCC_TRUE@@NATIVE_LINKER_TRUE@am_ld4_OBJECTS = $(am__objects_4)
 ld4_OBJECTS = $(am_ld4_OBJECTS)
-ld4_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ld4_LDFLAGS) \
-	$(LDFLAGS) -o $@
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
 am__v_P_0 = false
@@ -841,29 +829,32 @@ dwp_LDFLAGS = $(GOLD_LDFLAGS)
 CONFIG_STATUS_DEPENDENCIES = $(srcdir)/../bfd/development.sh
 POTFILES = $(CCFILES) $(HFILES) $(TARGETSOURCES)
 @GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_SOURCES = $(sources_var)
-@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_DEPENDENCIES = $(deps_var) gcctestdir1/ld
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_DEPENDENCIES = $(deps_var) gcctestdir1/ld gcctestdir1/collect-ld
 @GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_LDADD = $(ldadd_var)
-@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_LDFLAGS = -Bgcctestdir1/ \
-@GCC_TRUE@@NATIVE_LINKER_TRUE@	-Wl,--build-id=tree \
-@GCC_TRUE@@NATIVE_LINKER_TRUE@	-Wl,--build-id-chunk-size-for-treehash=12345 \
-@GCC_TRUE@@NATIVE_LINKER_TRUE@	-Wl,--build-id-min-file-size-for-treehash=0 \
-@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(am__append_1)
+@GCC_TRUE@@NATIVE_LINKER_TRUE@editcc1 = -e 's/\([^ ]*\)\(.*\)/\1 -Bgcctestdir1\/\2/'
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_LINK = `echo $(CXXLD) | sed $(editcc1)`\
+@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(AM_CXXFLAGS) $(CXXFLAGS) $(ld1_LDFLAGS) $(LDFLAGS) -o $@
+
 @GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_SOURCES = $(sources_var)
-@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_DEPENDENCIES = $(deps_var) gcctestdir2/ld
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_DEPENDENCIES = $(deps_var) gcctestdir2/ld gcctestdir2/collect-ld
 @GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_LDADD = $(ldadd_var)
-@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_LDFLAGS = -Bgcctestdir2/ \
-@GCC_TRUE@@NATIVE_LINKER_TRUE@	-Wl,--build-id=tree \
-@GCC_TRUE@@NATIVE_LINKER_TRUE@	-Wl,--build-id-chunk-size-for-treehash=12345 \
-@GCC_TRUE@@NATIVE_LINKER_TRUE@	-Wl,--build-id-min-file-size-for-treehash=0 \
-@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(am__append_2)
+@GCC_TRUE@@NATIVE_LINKER_TRUE@editcc2 = -e 's/\([^ ]*\)\(.*\)/\1 -Bgcctestdir2\/\2/'
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_LINK = `echo $(CXXLD) | sed $(editcc2)`\
+@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(AM_CXXFLAGS) $(CXXFLAGS) $(ld2_LDFLAGS) $(LDFLAGS) -o $@
+
 @GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_r_SOURCES = $(sources_var)
-@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_r_DEPENDENCIES = libgold-1-r.o $(deps_var) gcctestdir1/ld
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_r_DEPENDENCIES = libgold-1-r.o $(deps_var) gcctestdir1/ld gcctestdir1/collect-ld
 @GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_r_LDADD = libgold-1-r.o $(ldadd_var)
-@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_r_LDFLAGS = -Bgcctestdir1/
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_r_LINK = `echo $(CXXLD) | sed $(editcc1)`\
+@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@
+
 @GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_r_SOURCES = $(sources_var)
-@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_r_DEPENDENCIES = libgold-2-r.o $(deps_var) gcctestdir2-r/ld
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_r_DEPENDENCIES = libgold-2-r.o $(deps_var) gcctestdir2-r/ld gcctestdir2-r/collect-ld
 @GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_r_LDADD = libgold-2-r.o $(ldadd_var)
-@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_r_LDFLAGS = -Bgcctestdir2-r/
+@GCC_TRUE@@NATIVE_LINKER_TRUE@editcc2r = -e 's/\([^ ]*\)\(.*\)/\1 -Bgcctestdir2-r\/\2/'
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_r_LINK = `echo $(CXXLD) | sed $(editcc2r)`\
+@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@
+
 @GCC_TRUE@@NATIVE_LINKER_TRUE@TESTS = bootstrap-test bootstrap-test-r \
 @GCC_TRUE@@NATIVE_LINKER_TRUE@	bootstrap-test-treehash-chunksize \
 @GCC_TRUE@@NATIVE_LINKER_TRUE@	$(am__append_6)
@@ -872,18 +863,32 @@ POTFILES = $(CCFILES) $(HFILES) $(TARGETSOURCES)
 @GCC_TRUE@@NATIVE_LINKER_TRUE@	bootstrap-test-treehash-chunksize \
 @GCC_TRUE@@NATIVE_LINKER_TRUE@	$(am__append_7)
 @GCC_TRUE@@NATIVE_LINKER_TRUE@ld3_SOURCES = $(sources_var)
-@GCC_TRUE@@NATIVE_LINKER_TRUE@ld3_DEPENDENCIES = $(deps_var) gcctestdir3/ld
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ld3_DEPENDENCIES = $(deps_var) gcctestdir3/ld gcctestdir3/collect-ld
 @GCC_TRUE@@NATIVE_LINKER_TRUE@ld3_LDADD = $(ldadd_var)
-@GCC_TRUE@@NATIVE_LINKER_TRUE@ld3_LDFLAGS = -Bgcctestdir3/ \
-@GCC_TRUE@@NATIVE_LINKER_TRUE@	-Wl,--build-id=tree \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@editcc3 = -e 's/\([^ ]*\)\(.*\)/\1 -Bgcctestdir3\/\2/'
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ld3_LINK = `echo $(CXXLD) | sed $(editcc3)`\
+@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(AM_CXXFLAGS) $(CXXFLAGS) $(ld3_LDFLAGS) $(LDFLAGS) -o $@
+
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ld4_SOURCES = $(sources_var)
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ld4_DEPENDENCIES = $(deps_var) gcctestdir4/ld gcctestdir4/collect-ld
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ld4_LDADD = $(ldadd_var)
+@GCC_TRUE@@NATIVE_LINKER_TRUE@editcc4 = -e 's/\([^ ]*\)\(.*\)/\1 -Bgcctestdir4\/\2/'
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ld4_LINK = `echo $(CXXLD) | sed $(editcc4)`\
+@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(AM_CXXFLAGS) $(CXXFLAGS) $(ld4_LDFLAGS) $(LDFLAGS) -o $@
+
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_LDFLAGS = -Wl,--build-id=tree \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@	-Wl,--build-id-chunk-size-for-treehash=12345 \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@	-Wl,--build-id-min-file-size-for-treehash=0 \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(am__append_1)
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_LDFLAGS = -Wl,--build-id=tree \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@	-Wl,--build-id-chunk-size-for-treehash=12345 \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@	-Wl,--build-id-min-file-size-for-treehash=0 \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(am__append_2)
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ld3_LDFLAGS = -Wl,--build-id=tree \
 @GCC_TRUE@@NATIVE_LINKER_TRUE@	-Wl,--build-id-chunk-size-for-treehash=12345 \
 @GCC_TRUE@@NATIVE_LINKER_TRUE@	-Wl,--build-id-min-file-size-for-treehash=0 \
 @GCC_TRUE@@NATIVE_LINKER_TRUE@	$(am__append_3)
-@GCC_TRUE@@NATIVE_LINKER_TRUE@ld4_SOURCES = $(sources_var)
-@GCC_TRUE@@NATIVE_LINKER_TRUE@ld4_DEPENDENCIES = $(deps_var) gcctestdir4/ld
-@GCC_TRUE@@NATIVE_LINKER_TRUE@ld4_LDADD = $(ldadd_var)
-@GCC_TRUE@@NATIVE_LINKER_TRUE@ld4_LDFLAGS = -Bgcctestdir4/ \
-@GCC_TRUE@@NATIVE_LINKER_TRUE@	-Wl,--build-id=tree \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ld4_LDFLAGS = -Wl,--build-id=tree \
 @GCC_TRUE@@NATIVE_LINKER_TRUE@	-Wl,--build-id-chunk-size-for-treehash=12346 \
 @GCC_TRUE@@NATIVE_LINKER_TRUE@	-Wl,--build-id-min-file-size-for-treehash=0 \
 @GCC_TRUE@@NATIVE_LINKER_TRUE@	$(am__append_4)
@@ -1016,27 +1021,27 @@ ld-new$(EXEEXT): $(ld_new_OBJECTS) $(ld_new_DEPENDENCIES) $(EXTRA_ld_new_DEPENDE
 
 ld1$(EXEEXT): $(ld1_OBJECTS) $(ld1_DEPENDENCIES) $(EXTRA_ld1_DEPENDENCIES) 
 	@rm -f ld1$(EXEEXT)
-	$(AM_V_CXXLD)$(ld1_LINK) $(ld1_OBJECTS) $(ld1_LDADD) $(LIBS)
+	$(AM_V_GEN)$(ld1_LINK) $(ld1_OBJECTS) $(ld1_LDADD) $(LIBS)
 
 ld1-r$(EXEEXT): $(ld1_r_OBJECTS) $(ld1_r_DEPENDENCIES) $(EXTRA_ld1_r_DEPENDENCIES) 
 	@rm -f ld1-r$(EXEEXT)
-	$(AM_V_CXXLD)$(ld1_r_LINK) $(ld1_r_OBJECTS) $(ld1_r_LDADD) $(LIBS)
+	$(AM_V_GEN)$(ld1_r_LINK) $(ld1_r_OBJECTS) $(ld1_r_LDADD) $(LIBS)
 
 ld2$(EXEEXT): $(ld2_OBJECTS) $(ld2_DEPENDENCIES) $(EXTRA_ld2_DEPENDENCIES) 
 	@rm -f ld2$(EXEEXT)
-	$(AM_V_CXXLD)$(ld2_LINK) $(ld2_OBJECTS) $(ld2_LDADD) $(LIBS)
+	$(AM_V_GEN)$(ld2_LINK) $(ld2_OBJECTS) $(ld2_LDADD) $(LIBS)
 
 ld2-r$(EXEEXT): $(ld2_r_OBJECTS) $(ld2_r_DEPENDENCIES) $(EXTRA_ld2_r_DEPENDENCIES) 
 	@rm -f ld2-r$(EXEEXT)
-	$(AM_V_CXXLD)$(ld2_r_LINK) $(ld2_r_OBJECTS) $(ld2_r_LDADD) $(LIBS)
+	$(AM_V_GEN)$(ld2_r_LINK) $(ld2_r_OBJECTS) $(ld2_r_LDADD) $(LIBS)
 
 ld3$(EXEEXT): $(ld3_OBJECTS) $(ld3_DEPENDENCIES) $(EXTRA_ld3_DEPENDENCIES) 
 	@rm -f ld3$(EXEEXT)
-	$(AM_V_CXXLD)$(ld3_LINK) $(ld3_OBJECTS) $(ld3_LDADD) $(LIBS)
+	$(AM_V_GEN)$(ld3_LINK) $(ld3_OBJECTS) $(ld3_LDADD) $(LIBS)
 
 ld4$(EXEEXT): $(ld4_OBJECTS) $(ld4_DEPENDENCIES) $(EXTRA_ld4_DEPENDENCIES) 
 	@rm -f ld4$(EXEEXT)
-	$(AM_V_CXXLD)$(ld4_LINK) $(ld4_OBJECTS) $(ld4_LDADD) $(LIBS)
+	$(AM_V_GEN)$(ld4_LINK) $(ld4_OBJECTS) $(ld4_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -1610,15 +1615,15 @@ po/POTFILES.in: @MAINT@ Makefile
 # build ld2.  ld1 and ld2 should be identical.  ld-new need not be
 # identical to ld1, since it was linked with the host linker.
 
-@GCC_TRUE@@NATIVE_LINKER_TRUE@gcctestdir1/ld: ld-new
+@GCC_TRUE@@NATIVE_LINKER_TRUE@gcctestdir1/ld gcctestdir1/collect-ld: ld-new
 @GCC_TRUE@@NATIVE_LINKER_TRUE@	test -d gcctestdir1 || mkdir -p gcctestdir1
-@GCC_TRUE@@NATIVE_LINKER_TRUE@	rm -f gcctestdir1/ld
-@GCC_TRUE@@NATIVE_LINKER_TRUE@	(cd gcctestdir1 && $(LN_S) ../ld-new ld)
+@GCC_TRUE@@NATIVE_LINKER_TRUE@	rm -f $@
+@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(LN_S) $(abs_top_builddir)/ld-new $@
 
-@GCC_TRUE@@NATIVE_LINKER_TRUE@gcctestdir2/ld: ld1
+@GCC_TRUE@@NATIVE_LINKER_TRUE@gcctestdir2/ld gcctestdir2/collect-ld: ld1
 @GCC_TRUE@@NATIVE_LINKER_TRUE@	test -d gcctestdir2 || mkdir -p gcctestdir2
-@GCC_TRUE@@NATIVE_LINKER_TRUE@	rm -f gcctestdir2/ld
-@GCC_TRUE@@NATIVE_LINKER_TRUE@	(cd gcctestdir2 && $(LN_S) ../ld1 ld)
+@GCC_TRUE@@NATIVE_LINKER_TRUE@	rm -f $@
+@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(LN_S) $(abs_top_builddir)/ld1 $@
 
 @GCC_TRUE@@NATIVE_LINKER_TRUE@bootstrap-test: ld2
 @GCC_TRUE@@NATIVE_LINKER_TRUE@	rm -f $@
@@ -1629,10 +1634,10 @@ po/POTFILES.in: @MAINT@ Makefile
 @GCC_TRUE@@NATIVE_LINKER_TRUE@libgold-1-r.o: gcctestdir1/ld libgold.a
 @GCC_TRUE@@NATIVE_LINKER_TRUE@	gcctestdir1/ld -o $@ -r --whole-archive libgold.a
 
-@GCC_TRUE@@NATIVE_LINKER_TRUE@gcctestdir2-r/ld: ld1-r
+@GCC_TRUE@@NATIVE_LINKER_TRUE@gcctestdir2-r/ld gcctestdir2-r/collect-ld: ld1-r
 @GCC_TRUE@@NATIVE_LINKER_TRUE@	test -d gcctestdir2-r || mkdir -p gcctestdir2-r
-@GCC_TRUE@@NATIVE_LINKER_TRUE@	rm -f gcctestdir2-r/ld
-@GCC_TRUE@@NATIVE_LINKER_TRUE@	(cd gcctestdir2-r && $(LN_S) ../ld1-r ld)
+@GCC_TRUE@@NATIVE_LINKER_TRUE@	rm -f $@
+@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(LN_S) $(abs_top_builddir)/ld1-r $@
 
 @GCC_TRUE@@NATIVE_LINKER_TRUE@libgold-2-r.o: gcctestdir2-r/ld libgold.a
 @GCC_TRUE@@NATIVE_LINKER_TRUE@	gcctestdir2-r/ld -o $@ -r --whole-archive libgold.a
@@ -1643,15 +1648,15 @@ po/POTFILES.in: @MAINT@ Makefile
 @GCC_TRUE@@NATIVE_LINKER_TRUE@	echo "cmp ld1-r ld2-r" >> $@
 @GCC_TRUE@@NATIVE_LINKER_TRUE@	chmod +x $@
 
-@GCC_TRUE@@NATIVE_LINKER_TRUE@gcctestdir3/ld: ld-new
+@GCC_TRUE@@NATIVE_LINKER_TRUE@gcctestdir3/ld gcctestdir3/collect-ld: ld-new
 @GCC_TRUE@@NATIVE_LINKER_TRUE@	test -d gcctestdir3 || mkdir -p gcctestdir3
-@GCC_TRUE@@NATIVE_LINKER_TRUE@	rm -f gcctestdir3/ld
-@GCC_TRUE@@NATIVE_LINKER_TRUE@	(cd gcctestdir3 && $(LN_S) ../ld-new ld)
+@GCC_TRUE@@NATIVE_LINKER_TRUE@	rm -f $@
+@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(LN_S) $(abs_top_builddir)/ld-new $@
 
-@GCC_TRUE@@NATIVE_LINKER_TRUE@gcctestdir4/ld: ld-new
+@GCC_TRUE@@NATIVE_LINKER_TRUE@gcctestdir4/ld gcctestdir4/collect-ld: ld-new
 @GCC_TRUE@@NATIVE_LINKER_TRUE@	test -d gcctestdir4 || mkdir -p gcctestdir4
-@GCC_TRUE@@NATIVE_LINKER_TRUE@	rm -f gcctestdir4/ld
-@GCC_TRUE@@NATIVE_LINKER_TRUE@	(cd gcctestdir4 && $(LN_S) ../ld-new ld)
+@GCC_TRUE@@NATIVE_LINKER_TRUE@	rm -f $@
+@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(LN_S) $(abs_top_builddir)/ld-new $@
 
 @GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@bootstrap-test-treehash: ld1 ld3
 @GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@	rm -f $@
diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am
index f4c1f46..b70a7d5 100644
--- a/gold/testsuite/Makefile.am
+++ b/gold/testsuite/Makefile.am
@@ -32,29 +32,37 @@ endif
 
 # COMPILE1, LINK1, CXXCOMPILE1, CXXLINK1 are renamed from COMPILE, LINK,
 # CXXCOMPILE and CXXLINK generated by automake 1.11.1.  FIXME: they should
-# be updated if they are different from automake used by gold.
+# be updated if they differ in newer automake used by gold, but note the
+# addition of OPT_NO_PLUGINS and use of CC and CXX in LINK1 and CXXLINK1.
 COMPILE1 = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LINK1 = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(OPT_NO_PLUGINS) \
+LINK1 = $(CC) $(AM_CFLAGS) $(CFLAGS) $(OPT_NO_PLUGINS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
 CXXCOMPILE1 = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLINK1 = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(OPT_NO_PLUGINS) \
+CXXLINK1 = $(CXX) $(AM_CXXFLAGS) $(CXXFLAGS) $(OPT_NO_PLUGINS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
 
+# Put our -B option before any other -B that might be in $CC or $CXX
+editcc = -e 's/\([^ ]*\)\(.*\)/\1 -Bgcctestdir\/\2/'
+
 # Strip out -Wp,-D_FORTIFY_SOURCE=, which is irrelevant for the gold
-# testsuite and incompatible with -O0 used in gold tests, from
-# COMPILE, LINK, CXXCOMPILE and CXXLINK.
-COMPILE = `echo $(COMPILE1) | sed -e 's/-Wp,-D_FORTIFY_SOURCE=[0-9[0-9]]*//'`
-LINK = `echo $(LINK1) | sed -e 's/-Wp,-D_FORTIFY_SOURCE=[0-9][0-9]*//'`
-CXXCOMPILE = `echo $(CXXCOMPILE1) | sed -e 's/-Wp,-D_FORTIFY_SOURCE=[0-9][0-9]*//'`
-CXXLINK = `echo $(CXXLINK1) | sed -e 's/-Wp,-D_FORTIFY_SOURCE=[0-9][0-9]*//'`
+# testsuite and incompatible with -O0 used in gold tests.
+editcc1 = -e 's/-Wp,-D_FORTIFY_SOURCE=[0-9][0-9]*//'
+
+CCLD = `echo $(CC) | sed $(editcc)`
+CXXLD = `echo $(CXX) | sed $(editcc)`
+COMPILE = `echo $(COMPILE1) | sed $(editcc) $(editcc1)`
+LINK = `echo $(LINK1) | sed $(editcc) $(editcc1)`
+CXXCOMPILE = `echo $(CXXCOMPILE1) | sed $(editcc) $(editcc1)`
+CXXLINK = `echo $(CXXLINK1) | sed $(editcc) $(editcc1)`
 
 # Strip out -static-libgcc and -static-libstdc++ options, for tests
 # that must have these libraries linked dynamically.  The -shared-libgcc
 # option does not work correctly, and there is no -shared-libstdc++ option.
 # (See GCC PR 55781 and PR 55782.)
-CXXLINK_S = `echo $(CXXLINK1) | sed -e 's/-static-lib\\(gcc\\|stdc++\\)//g'`
+editcc2 = -e 's/-static-lib\(gcc\|stdc++\) *//g'
+CXXLINK_S = `echo $(CXXLINK1) | sed $(editcc) $(editcc1) $(editcc2)`
 
 TEST_READELF = $(top_builddir)/../binutils/readelf
 TEST_OBJDUMP = $(top_builddir)/../binutils/objdump
@@ -114,16 +122,22 @@ if GCC
 
 # Infrastucture needed for the unittests: a directory where the linker
 # is named 'ld'.  This is because the -B flag appends 'ld' to its arg.
-gcctestdir/ld: ../ld-new
+gcctestdir/ld: ../ld-new gcctestdir/collect-ld
 	test -d gcctestdir || mkdir -p gcctestdir
-	rm -f gcctestdir/ld
-	(cd gcctestdir && $(LN_S) ../../ld-new ld)
+	rm -f $@
+	$(LN_S) $(abs_top_builddir)/ld-new $@
+
+# Needed when using uninstalled compiler
+gcctestdir/collect-ld: ../ld-new
+	test -d gcctestdir || mkdir -p gcctestdir
+	rm -f $@
+	$(LN_S) $(abs_top_builddir)/ld-new $@
 
 # Some tests require the latest features of an in-tree assembler.
 gcctestdir/as: $(TEST_AS)
 	test -d gcctestdir || mkdir -p gcctestdir
-	rm -f gcctestdir/as
-	(cd gcctestdir && $(LN_S) $(abs_top_builddir)/../gas/as-new as)
+	rm -f $@
+	$(LN_S) $(abs_top_builddir)/../gas/as-new $@
 
 endif GCC
 
@@ -188,7 +202,7 @@ incremental_test_1.o: incremental_test_1.c
 incremental_test_2.o: incremental_test_2.c
 	$(COMPILE) -O0 -c -ffunction-sections -g -o $@ $<
 incremental_test: incremental_test_1.o incremental_test_2.o gcctestdir/ld
-	$(LINK) -Bgcctestdir/ -Wl,--incremental-full -Wl,-z,norelro,-no-pie incremental_test_1.o incremental_test_2.o -Wl,-debug 2> incremental_test.cmdline
+	$(LINK) -Wl,--incremental-full -Wl,-z,norelro,-no-pie incremental_test_1.o incremental_test_2.o -Wl,-debug 2> incremental_test.cmdline
 incremental_test.stdout: incremental_test ../incremental-dump
 	../incremental-dump incremental_test > $@
 
@@ -200,7 +214,7 @@ gc_comdat_test_1.o: gc_comdat_test_1.cc
 gc_comdat_test_2.o: gc_comdat_test_2.cc
 	$(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $<
 gc_comdat_test: gc_comdat_test_1.o gc_comdat_test_2.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -Wl,--gc-sections gc_comdat_test_1.o gc_comdat_test_2.o
+	$(CXXLINK) -Wl,--gc-sections gc_comdat_test_1.o gc_comdat_test_2.o
 gc_comdat_test.stdout: gc_comdat_test
 	$(TEST_NM) -C gc_comdat_test > gc_comdat_test.stdout
 
@@ -210,7 +224,7 @@ MOSTLYCLEANFILES += gc_tls_test
 gc_tls_test.o: gc_tls_test.cc
 	$(CXXCOMPILE) -O0 -c -g -o $@ $<
 gc_tls_test:gc_tls_test.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -Wl,--gc-sections gc_tls_test.o
+	$(CXXLINK) -Wl,--gc-sections gc_tls_test.o
 gc_tls_test.stdout: gc_tls_test
 	$(TEST_NM) -C gc_tls_test > gc_tls_test.stdout
 
@@ -220,7 +234,7 @@ MOSTLYCLEANFILES += gc_orphan_section_test
 gc_orphan_section_test.o: gc_orphan_section_test.cc
 	$(CXXCOMPILE) -O0 -c -g -o $@ $<
 gc_orphan_section_test:gc_orphan_section_test.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -Wl,--gc-sections gc_orphan_section_test.o
+	$(CXXLINK) -Wl,--gc-sections gc_orphan_section_test.o
 gc_orphan_section_test.stdout: gc_orphan_section_test
 	$(TEST_NM) gc_orphan_section_test > gc_orphan_section_test.stdout
 
@@ -230,7 +244,7 @@ MOSTLYCLEANFILES += pr14265
 pr14265.o: pr14265.c
 	$(COMPILE) -O0 -c -o $@ $<
 pr14265: pr14265.o gcctestdir/ld $(srcdir)/pr14265.t
-	$(LINK) -Bgcctestdir/ -Wl,--gc-sections -Wl,-T,$(srcdir)/pr14265.t -o $@ $<
+	$(LINK) -Wl,--gc-sections -Wl,-T,$(srcdir)/pr14265.t -o $@ $<
 pr14265.stdout: pr14265
 	$(TEST_NM) --format=bsd --numeric-sort $< > $@
 
@@ -240,7 +254,7 @@ MOSTLYCLEANFILES += pr20717
 pr20717.o: pr20717.c
 	$(COMPILE) -O0 -ffunction-sections -c -o $@ $<
 pr20717: pr20717.o gcctestdir/ld $(srcdir)/pr20717.t
-	$(LINK) -Bgcctestdir/ -Wl,--gc-sections -Wl,-T,$(srcdir)/pr20717.t -o $@ $<
+	$(LINK) -Wl,--gc-sections -Wl,-T,$(srcdir)/pr20717.t -o $@ $<
 pr20717.stdout: pr20717
 	$(TEST_NM) $< > $@
 
@@ -250,7 +264,7 @@ MOSTLYCLEANFILES += gc_dynamic_list_test
 gc_dynamic_list_test.o: gc_dynamic_list_test.c
 	$(COMPILE) -c -ffunction-sections -o $@ $<
 gc_dynamic_list_test: gc_dynamic_list_test.o gcctestdir/ld $(srcdir)/gc_dynamic_list_test.t
-	$(LINK) -Bgcctestdir/ -Wl,--gc-sections -Wl,--dynamic-list,$(srcdir)/gc_dynamic_list_test.t gc_dynamic_list_test.o
+	$(LINK) -Wl,--gc-sections -Wl,--dynamic-list,$(srcdir)/gc_dynamic_list_test.t gc_dynamic_list_test.o
 gc_dynamic_list_test.stdout: gc_dynamic_list_test
 	$(TEST_NM) gc_dynamic_list_test > $@
 
@@ -260,7 +274,7 @@ MOSTLYCLEANFILES += icf_test icf_test.map
 icf_test.o: icf_test.cc
 	$(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $<
 icf_test: icf_test.o gcctestdir/ld
-	$(CXXLINK) -o icf_test -Bgcctestdir/ -Wl,--icf=all,-Map,icf_test.map icf_test.o
+	$(CXXLINK) -o icf_test -Wl,--icf=all,-Map,icf_test.map icf_test.o
 icf_test.map: icf_test
 	@touch icf_test.map
 
@@ -270,7 +284,7 @@ MOSTLYCLEANFILES += icf_keep_unique_test
 icf_keep_unique_test.o: icf_keep_unique_test.cc
 	$(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $<
 icf_keep_unique_test: icf_keep_unique_test.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -Wl,--icf=all -Wl,--keep-unique,_Z11unique_funcv icf_keep_unique_test.o
+	$(CXXLINK) -Wl,--icf=all -Wl,--keep-unique,_Z11unique_funcv icf_keep_unique_test.o
 icf_keep_unique_test.stdout: icf_keep_unique_test
 	$(TEST_NM) -C $< > $@
 
@@ -280,7 +294,7 @@ MOSTLYCLEANFILES += icf_safe_test icf_safe_test.map
 icf_safe_test.o: icf_safe_test.cc
 	$(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $<
 icf_safe_test: icf_safe_test.o gcctestdir/ld
-	$(CXXLINK) -o icf_safe_test -Bgcctestdir/ -Wl,--icf=safe,-Map,icf_safe_test.map icf_safe_test.o
+	$(CXXLINK) -o icf_safe_test -Wl,--icf=safe,-Map,icf_safe_test.map icf_safe_test.o
 icf_safe_test.map: icf_safe_test
 	@touch icf_safe_test.map
 icf_safe_test_1.stdout: icf_safe_test
@@ -294,7 +308,7 @@ MOSTLYCLEANFILES += icf_safe_pie_test icf_safe_pie_test.map
 icf_safe_pie_test.o: icf_safe_test.cc
 	$(CXXCOMPILE) -O0 -c -ffunction-sections -fPIE -g -o $@ $<
 icf_safe_pie_test: icf_safe_pie_test.o gcctestdir/ld
-	$(CXXLINK) -o icf_safe_pie_test -Bgcctestdir/ -Wl,--icf=safe,-Map,icf_safe_pie_test.map icf_safe_pie_test.o -pie
+	$(CXXLINK) -o icf_safe_pie_test -Wl,--icf=safe,-Map,icf_safe_pie_test.map icf_safe_pie_test.o -pie
 icf_safe_pie_test.map: icf_safe_pie_test
 	@touch icf_safe_pie_test.map
 icf_safe_pie_test_1.stdout: icf_safe_pie_test
@@ -308,7 +322,7 @@ MOSTLYCLEANFILES += icf_safe_so_test icf_safe_so_test.map
 icf_safe_so_test.o: icf_safe_so_test.cc
 	$(CXXCOMPILE) -O0 -c -ffunction-sections -fPIC -g -o $@ $<
 icf_safe_so_test: icf_safe_so_test.o gcctestdir/ld
-	$(CXXLINK) -o icf_safe_so_test -Bgcctestdir/ -Wl,--icf=safe,-Map,icf_safe_so_test.map icf_safe_so_test.o -fPIC -shared
+	$(CXXLINK) -o icf_safe_so_test -Wl,--icf=safe,-Map,icf_safe_so_test.map icf_safe_so_test.o -fPIC -shared
 icf_safe_so_test.map:
 	@touch icf_safe_so_test.map
 icf_safe_so_test_1.stdout: icf_safe_so_test
@@ -320,13 +334,13 @@ check_SCRIPTS += final_layout.sh
 check_DATA += final_layout.stdout
 MOSTLYCLEANFILES += final_layout final_layout_sequence.txt final_layout_script.lds
 final_layout.o: final_layout.cc
-	$(CXXCOMPILE) -O0 -c -ffunction-sections  -fdata-sections -g -o $@ $<
+	$(CXXCOMPILE) -O0 -c -ffunction-sections -fdata-sections -g -o $@ $<
 final_layout_sequence.txt:
 	(echo "*_Z3barv*" && echo ".text._Z3bazv" && echo "*_Z3foov*" && echo "*global_varb*" && echo "*global_vara*" && echo "*global_varc*") > final_layout_sequence.txt
 final_layout_script.lds:
 	(echo "SECTIONS { .text : { *(.text*) } .got : { *(.got .toc) } .sbss : { *(.sbss*) } .bss : { *(.bss*) } }") > final_layout_script.lds
 final_layout: final_layout.o final_layout_sequence.txt final_layout_script.lds gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -Wl,--section-ordering-file,final_layout_sequence.txt -Wl,-T,final_layout_script.lds final_layout.o
+	$(CXXLINK) -Wl,--section-ordering-file,final_layout_sequence.txt -Wl,-T,final_layout_script.lds final_layout.o
 final_layout.stdout: final_layout
 	$(TEST_NM) -n --synthetic final_layout > final_layout.stdout
 
@@ -336,9 +350,9 @@ MOSTLYCLEANFILES += text_section_grouping text_section_no_grouping
 text_section_grouping.o: text_section_grouping.cc
 	$(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $<
 text_section_grouping: text_section_grouping.o gcctestdir/ld
-	$(CXXLINK)  -Bgcctestdir/ text_section_grouping.o
+	$(CXXLINK) text_section_grouping.o
 text_section_no_grouping: text_section_grouping.o gcctestdir/ld
-	$(CXXLINK)  -Bgcctestdir/ -Wl,--no-text-reorder text_section_grouping.o
+	$(CXXLINK) -Wl,--no-text-reorder text_section_grouping.o
 text_section_grouping.stdout: text_section_grouping
 	$(TEST_NM) -n --synthetic text_section_grouping > text_section_grouping.stdout
 text_section_no_grouping.stdout: text_section_no_grouping
@@ -350,7 +364,7 @@ MOSTLYCLEANFILES += section_sorting_name
 section_sorting_name.o: section_sorting_name.cc
 	$(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $<
 section_sorting_name: section_sorting_name.o gcctestdir/ld
-	$(CXXLINK)  -Bgcctestdir/ -Wl,--sort-section=name section_sorting_name.o
+	$(CXXLINK) -Wl,--sort-section=name section_sorting_name.o
 section_sorting_name.stdout: section_sorting_name
 	$(TEST_NM) -n --synthetic section_sorting_name > section_sorting_name.stdout
 
@@ -360,7 +374,7 @@ MOSTLYCLEANFILES += text_unlikely_segment
 text_unlikely_segment.o: text_unlikely_segment.cc
 	$(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $<
 text_unlikely_segment: text_unlikely_segment.o gcctestdir/ld
-	$(CXXLINK)  -Bgcctestdir/ -Wl,-z,text-unlikely-segment text_unlikely_segment.o
+	$(CXXLINK) -Wl,-z,text-unlikely-segment text_unlikely_segment.o
 text_unlikely_segment_readelf.stdout: text_unlikely_segment
 	$(TEST_READELF) -Wl $< >$@
 
@@ -370,7 +384,7 @@ MOSTLYCLEANFILES += keep_text_section_prefix
 keep_text_section_prefix.o: keep_text_section_prefix.cc
 	$(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $<
 keep_text_section_prefix: keep_text_section_prefix.o gcctestdir/ld
-	$(CXXLINK)  -Bgcctestdir/ -Wl,-z,keep-text-section-prefix keep_text_section_prefix.o
+	$(CXXLINK) -Wl,-z,keep-text-section-prefix keep_text_section_prefix.o
 keep_text_section_prefix_readelf.stdout: keep_text_section_prefix
 	$(TEST_READELF) -Wl $< >$@
 keep_text_section_prefix_nm.stdout: keep_text_section_prefix
@@ -381,7 +395,7 @@ MOSTLYCLEANFILES += icf_virtual_function_folding_test icf_virtual_function_foldi
 icf_virtual_function_folding_test.o: icf_virtual_function_folding_test.cc
 	$(CXXCOMPILE) -O0 -c -ffunction-sections -fPIE -g -o $@ $<
 icf_virtual_function_folding_test: icf_virtual_function_folding_test.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -Wl,--icf=all icf_virtual_function_folding_test.o -pie
+	$(CXXLINK) -Wl,--icf=all icf_virtual_function_folding_test.o -pie
 
 check_SCRIPTS += icf_preemptible_functions_test.sh
 check_DATA += icf_preemptible_functions_test.stdout
@@ -389,7 +403,7 @@ MOSTLYCLEANFILES += icf_preemptible_functions_test
 icf_preemptible_functions_test.o: icf_preemptible_functions_test.cc
 	$(CXXCOMPILE) -O0 -c -ffunction-sections -fPIC -g -o $@ $<
 icf_preemptible_functions_test: icf_preemptible_functions_test.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -Wl,--icf=all icf_preemptible_functions_test.o -fPIC -shared
+	$(CXXLINK) -Wl,--icf=all icf_preemptible_functions_test.o -fPIC -shared
 icf_preemptible_functions_test.stdout: icf_preemptible_functions_test
 	$(TEST_NM) icf_preemptible_functions_test > icf_preemptible_functions_test.stdout
 
@@ -399,7 +413,7 @@ MOSTLYCLEANFILES += icf_string_merge_test
 icf_string_merge_test.o: icf_string_merge_test.cc
 	$(CXXCOMPILE) -O0 -c -ffunction-sections -fPIC -g -o $@ $<
 icf_string_merge_test: icf_string_merge_test.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -Wl,--icf=all icf_string_merge_test.o
+	$(CXXLINK) -Wl,--icf=all icf_string_merge_test.o
 icf_string_merge_test.stdout: icf_string_merge_test
 	$(TEST_NM) icf_string_merge_test > icf_string_merge_test.stdout
 
@@ -411,14 +425,13 @@ icf_sht_rel_addend_test_1.o: icf_sht_rel_addend_test_1.cc
 icf_sht_rel_addend_test_2.o: icf_sht_rel_addend_test_2.cc
 	$(CXXCOMPILE) -O0 -c -ffunction-sections -fPIC -g -o $@ $<
 icf_sht_rel_addend_test: icf_sht_rel_addend_test_1.o icf_sht_rel_addend_test_2.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -Wl,--icf=all icf_sht_rel_addend_test_1.o icf_sht_rel_addend_test_2.o
+	$(CXXLINK) -Wl,--icf=all icf_sht_rel_addend_test_1.o icf_sht_rel_addend_test_2.o
 icf_sht_rel_addend_test.stdout: icf_sht_rel_addend_test
 	$(TEST_NM) icf_sht_rel_addend_test > icf_sht_rel_addend_test.stdout
 
 check_PROGRAMS += large_symbol_alignment
 large_symbol_alignment_SOURCES = large_symbol_alignment.cc
 large_symbol_alignment_DEPENDENCIES = gcctestdir/ld
-large_symbol_alignment_LDFLAGS = -Bgcctestdir/
 large_symbol_alignment_LDADD =
 
 check_SCRIPTS += merge_string_literals.sh
@@ -429,7 +442,7 @@ merge_string_literals_1.o: merge_string_literals_1.cc
 merge_string_literals_2.o: merge_string_literals_2.cc
 	$(CXXCOMPILE) -O2 -c -fPIC -g -o $@ $<
 merge_string_literals: merge_string_literals_1.o merge_string_literals_2.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ merge_string_literals_1.o merge_string_literals_2.o -O2 -shared -nostdlib
+	$(CXXLINK) merge_string_literals_1.o merge_string_literals_2.o -O2 -shared -nostdlib
 merge_string_literals.stdout: merge_string_literals
 	$(TEST_OBJDUMP) -s -j.rodata merge_string_literals > merge_string_literals.stdout
 
@@ -438,15 +451,15 @@ check_PROGRAMS += basic_pic_test
 basic_test.o: basic_test.cc
 	$(CXXCOMPILE) -O0 -c -o $@ $<
 basic_test: basic_test.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ basic_test.o
+	$(CXXLINK) basic_test.o
 
 check_PROGRAMS += eh_test
 eh_test_a.o: eh_test_a.cc
 	$(CXXCOMPILE) -O0 -c -o $@ $<
 eh_test_b.o: eh_test_b.cc
 	$(CXXCOMPILE) -O0 -c -o $@ $<
-eh_test: eh_test_a.o eh_test_b.o  gcctestdir/ld
-	$(CXXLINK_S) -Bgcctestdir/ eh_test_a.o eh_test_b.o
+eh_test: eh_test_a.o eh_test_b.o gcctestdir/ld
+	$(CXXLINK_S) eh_test_a.o eh_test_b.o
 
 check_SCRIPTS += eh_test_2.sh
 check_DATA += eh_test_2.sects
@@ -454,37 +467,36 @@ MOSTLYCLEANFILES += eh_test_2 eh_test_2.sects
 eh_test_r.o: eh_test_a.o eh_test_b.o gcctestdir/ld
 	gcctestdir/ld -r -o $@ eh_test_a.o eh_test_b.o
 eh_test_2: eh_test_r.o gcctestdir/ld
-	$(CXXLINK_S) -Bgcctestdir/ -Wl,--eh-frame-hdr eh_test_r.o
+	$(CXXLINK_S) -Wl,--eh-frame-hdr eh_test_r.o
 eh_test_2.sects: eh_test_2
 	$(TEST_READELF) -SW $< >$@ 2>/dev/null
 
 if HAVE_STATIC
 check_PROGRAMS += basic_static_test
 basic_static_test: basic_test.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -static basic_test.o
+	$(CXXLINK) -static basic_test.o
 endif
 
 basic_pic_test.o: basic_test.cc
 	$(CXXCOMPILE) -O0 -c -fpic -o $@ $<
 basic_pic_test: basic_pic_test.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ basic_pic_test.o
+	$(CXXLINK) basic_pic_test.o
 
 if HAVE_STATIC
 check_PROGRAMS += basic_static_pic_test
 basic_static_pic_test: basic_pic_test.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -static basic_pic_test.o
+	$(CXXLINK) -static basic_pic_test.o
 endif
 
 check_PROGRAMS += basic_pie_test
 basic_pie_test.o: basic_test.cc
 	$(CXXCOMPILE) -O0 -c -fpie -o $@ $<
 basic_pie_test: basic_pie_test.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -pie basic_pie_test.o
+	$(CXXLINK) -pie basic_pie_test.o
 
 check_PROGRAMS += constructor_test
 constructor_test_SOURCES = constructor_test.cc
 constructor_test_DEPENDENCIES = gcctestdir/ld
-constructor_test_LDFLAGS = -Bgcctestdir/
 constructor_test_LDADD =
 
 if HAVE_STATIC
@@ -504,7 +516,6 @@ two_file_test_SOURCES = \
 	two_file_test_main.cc \
 	two_file_test.h
 two_file_test_DEPENDENCIES = gcctestdir/ld
-two_file_test_LDFLAGS = -Bgcctestdir/
 two_file_test_LDADD =
 
 if HAVE_STATIC
@@ -518,7 +529,6 @@ endif
 two_file_pic_test_SOURCES = two_file_test_main.cc
 two_file_pic_test_DEPENDENCIES = \
 	gcctestdir/ld two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2_pic.o
-two_file_pic_test_LDFLAGS = -Bgcctestdir/
 two_file_pic_test_LDADD = two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2_pic.o
 
 
@@ -536,50 +546,50 @@ two_file_test_1b_pic.o: two_file_test_1b.cc
 two_file_test_2_pic.o: two_file_test_2.cc
 	$(CXXCOMPILE) -c -fpic -o $@ $<
 two_file_shared_1.so: two_file_test_1_pic.o two_file_test_1b_pic.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared two_file_test_1_pic.o two_file_test_1b_pic.o
+	$(CXXLINK) -shared two_file_test_1_pic.o two_file_test_1b_pic.o
 two_file_shared_2.so: two_file_test_2_pic.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared two_file_test_2_pic.o
+	$(CXXLINK) -shared two_file_test_2_pic.o
 two_file_shared.so: two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2_pic.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2_pic.o
+	$(CXXLINK) -shared two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2_pic.o
 
 two_file_shared_1_test_SOURCES = two_file_test_2.cc two_file_test_main.cc
 two_file_shared_1_test_DEPENDENCIES = gcctestdir/ld two_file_shared_1.so
-two_file_shared_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+two_file_shared_1_test_LDFLAGS = -Wl,-R,.
 two_file_shared_1_test_LDADD = two_file_shared_1.so
 
 two_file_shared_2_test_SOURCES = two_file_test_1.cc two_file_test_1b.cc two_file_test_main.cc
 two_file_shared_2_test_DEPENDENCIES = gcctestdir/ld two_file_shared_2.so
-two_file_shared_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+two_file_shared_2_test_LDFLAGS = -Wl,-R,.
 two_file_shared_2_test_LDADD = two_file_shared_2.so
 
 two_file_shared_1_pic_2_test_SOURCES = two_file_test_main.cc
 two_file_shared_1_pic_2_test_DEPENDENCIES = \
 	gcctestdir/ld two_file_shared_2.so two_file_test_1_pic.o two_file_test_1b_pic.o
-two_file_shared_1_pic_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+two_file_shared_1_pic_2_test_LDFLAGS = -Wl,-R,.
 two_file_shared_1_pic_2_test_LDADD = two_file_test_1_pic.o two_file_test_1b_pic.o two_file_shared_2.so
 
 two_file_shared_2_pic_1_test_SOURCES = two_file_test_main.cc
 two_file_shared_2_pic_1_test_DEPENDENCIES = \
 	gcctestdir/ld two_file_shared_1.so two_file_test_2_pic.o
-two_file_shared_2_pic_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+two_file_shared_2_pic_1_test_LDFLAGS = -Wl,-R,.
 two_file_shared_2_pic_1_test_LDADD = two_file_test_2_pic.o two_file_shared_1.so
 
 two_file_same_shared_test_SOURCES = two_file_test_main.cc
 two_file_same_shared_test_DEPENDENCIES = gcctestdir/ld two_file_shared.so
-two_file_same_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+two_file_same_shared_test_LDFLAGS = -Wl,-R,.
 two_file_same_shared_test_LDADD = two_file_shared.so
 
 two_file_separate_shared_12_test_SOURCES = two_file_test_main.cc
 two_file_separate_shared_12_test_DEPENDENCIES = \
 	gcctestdir/ld two_file_shared_1.so two_file_shared_2.so
-two_file_separate_shared_12_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+two_file_separate_shared_12_test_LDFLAGS = -Wl,-R,.
 two_file_separate_shared_12_test_LDADD = \
 	two_file_shared_1.so two_file_shared_2.so
 
 two_file_separate_shared_21_test_SOURCES = two_file_test_main.cc
 two_file_separate_shared_21_test_DEPENDENCIES = \
 	gcctestdir/ld two_file_shared_1.so two_file_shared_2.so
-two_file_separate_shared_21_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+two_file_separate_shared_21_test_LDFLAGS = -Wl,-R,.
 two_file_separate_shared_21_test_LDADD = \
 	two_file_shared_2.so two_file_shared_1.so
 
@@ -587,7 +597,7 @@ check_PROGRAMS += two_file_relocatable_test
 two_file_relocatable_test_SOURCES = two_file_test_main.cc
 two_file_relocatable_test_DEPENDENCIES = \
 	gcctestdir/ld two_file_relocatable.o
-two_file_relocatable_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+two_file_relocatable_test_LDFLAGS = -Wl,-R,.
 two_file_relocatable_test_LDADD = two_file_relocatable.o
 two_file_relocatable.o: gcctestdir/ld two_file_test_1.o two_file_test_1b.o two_file_test_2.o
 	gcctestdir/ld -r -o $@ two_file_test_1.o two_file_test_1b.o two_file_test_2.o
@@ -603,23 +613,23 @@ two_file_test_main_pie.o: two_file_test_main.cc
 	$(CXXCOMPILE) -c -fpie -o $@ $<
 two_file_pie_test: two_file_test_1_pie.o two_file_test_1b_pie.o \
 		two_file_test_2_pie.o two_file_test_main_pie.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -pie two_file_test_1_pie.o two_file_test_1b_pie.o two_file_test_2_pie.o two_file_test_main_pie.o
+	$(CXXLINK) -pie two_file_test_1_pie.o two_file_test_1b_pie.o two_file_test_2_pie.o two_file_test_main_pie.o
 
 check_PROGRAMS += pie_copyrelocs_test
 pie_copyrelocs_test_SOURCES = pie_copyrelocs_test.cc
 pie_copyrelocs_test_DEPENDENCIES = gcctestdir/ld pie_copyrelocs_shared_test.so
 pie_copyrelocs_test_CXXFLAGS = -fno-exceptions -fno-asynchronous-unwind-tables
-pie_copyrelocs_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -pie
+pie_copyrelocs_test_LDFLAGS = -Wl,-R,. -pie
 pie_copyrelocs_test_LDADD = pie_copyrelocs_shared_test.so
 pie_copyrelocs_shared_test.o: pie_copyrelocs_shared_test.cc
 	$(CXXCOMPILE) -O2 -fpic -c -o $@ $<
 pie_copyrelocs_shared_test.so: pie_copyrelocs_shared_test.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared pie_copyrelocs_shared_test.o
+	$(CXXLINK) -shared pie_copyrelocs_shared_test.o
 
 check_PROGRAMS += weak_unresolved_symbols_test
 weak_unresolved_symbols_test_SOURCES = weak_unresolved_symbols_test.cc
 weak_unresolved_symbols_test_CXXFLAGS = -fPIE
-weak_unresolved_symbols_test_LDFLAGS = -Bgcctestdir/ -pie -Wl,--weak-unresolved-symbols
+weak_unresolved_symbols_test_LDFLAGS = -pie -Wl,--weak-unresolved-symbols
 
 check_SCRIPTS += two_file_shared.sh
 check_DATA += two_file_shared.dbg
@@ -639,64 +649,64 @@ check_PROGRAMS += two_file_separate_shared_21_nonpic_test
 check_PROGRAMS += two_file_mixed_shared_test
 check_PROGRAMS += two_file_mixed_2_shared_test
 two_file_shared_1_nonpic.so: two_file_test_1.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared two_file_test_1.o two_file_test_1b.o -Wl,-z,notext
+	$(CXXLINK) -shared two_file_test_1.o two_file_test_1b.o -Wl,-z,notext
 two_file_shared_2_nonpic.so: two_file_test_2.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared two_file_test_2.o
+	$(CXXLINK) -shared two_file_test_2.o
 two_file_shared_nonpic.so: two_file_test_1.o two_file_test_1b.o two_file_test_2.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared two_file_test_1.o two_file_test_1b.o two_file_test_2.o -Wl,-z,notext
+	$(CXXLINK) -shared two_file_test_1.o two_file_test_1b.o two_file_test_2.o -Wl,-z,notext
 two_file_shared_mixed.so: two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2.o -Wl,-z,notext
+	$(CXXLINK) -shared two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2.o -Wl,-z,notext
 two_file_shared_mixed_1.so: two_file_test_1.o two_file_test_1b_pic.o two_file_shared_2.so gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared two_file_test_1.o two_file_test_1b_pic.o two_file_shared_2.so -Wl,-z,notext
+	$(CXXLINK) -shared two_file_test_1.o two_file_test_1b_pic.o two_file_shared_2.so -Wl,-z,notext
 
 two_file_shared_1_nonpic_test_SOURCES = \
 	two_file_test_2.cc two_file_test_main.cc
 two_file_shared_1_nonpic_test_DEPENDENCIES = \
 	gcctestdir/ld two_file_shared_1_nonpic.so
-two_file_shared_1_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+two_file_shared_1_nonpic_test_LDFLAGS = -Wl,-R,.
 two_file_shared_1_nonpic_test_LDADD = two_file_shared_1_nonpic.so
 
 two_file_shared_2_nonpic_test_SOURCES = \
 	two_file_test_1.cc two_file_test_1b.cc two_file_test_main.cc
 two_file_shared_2_nonpic_test_DEPENDENCIES = \
 	gcctestdir/ld two_file_shared_2_nonpic.so
-two_file_shared_2_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+two_file_shared_2_nonpic_test_LDFLAGS = -Wl,-R,.
 two_file_shared_2_nonpic_test_LDADD = two_file_shared_2_nonpic.so
 
 two_file_same_shared_nonpic_test_SOURCES = two_file_test_main.cc
 two_file_same_shared_nonpic_test_DEPENDENCIES = \
 	gcctestdir/ld two_file_shared_nonpic.so
-two_file_same_shared_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+two_file_same_shared_nonpic_test_LDFLAGS = -Wl,-R,.
 two_file_same_shared_nonpic_test_LDADD = two_file_shared_nonpic.so
 
 two_file_separate_shared_12_nonpic_test_SOURCES = two_file_test_main.cc
 two_file_separate_shared_12_nonpic_test_DEPENDENCIES = \
 	gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
-two_file_separate_shared_12_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+two_file_separate_shared_12_nonpic_test_LDFLAGS = -Wl,-R,.
 two_file_separate_shared_12_nonpic_test_LDADD = \
 	two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
 
 two_file_separate_shared_21_nonpic_test_SOURCES = two_file_test_main.cc
 two_file_separate_shared_21_nonpic_test_DEPENDENCIES = \
 	gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
-two_file_separate_shared_21_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+two_file_separate_shared_21_nonpic_test_LDFLAGS = -Wl,-R,.
 two_file_separate_shared_21_nonpic_test_LDADD = \
 	two_file_shared_2_nonpic.so two_file_shared_1_nonpic.so
 
 two_file_mixed_shared_test_SOURCES = two_file_test_main.cc
 two_file_mixed_shared_test_DEPENDENCIES = gcctestdir/ld two_file_shared_mixed.so
-two_file_mixed_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+two_file_mixed_shared_test_LDFLAGS = -Wl,-R,.
 two_file_mixed_shared_test_LDADD = two_file_shared_mixed.so
 
 two_file_mixed_2_shared_test_SOURCES = two_file_test_main.cc
 two_file_mixed_2_shared_test_DEPENDENCIES = gcctestdir/ld two_file_shared_mixed_1.so two_file_shared_2.so
-two_file_mixed_2_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+two_file_mixed_2_shared_test_LDFLAGS = -Wl,-R,.
 two_file_mixed_2_shared_test_LDADD = two_file_shared_mixed_1.so two_file_shared_2.so
 
 check_PROGRAMS += two_file_mixed_pie_test
 two_file_mixed_pie_test: two_file_test_1.o two_file_test_1b_pie.o \
 		two_file_test_main_pie.o two_file_shared_2.so gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -Wl,-R,. -pie two_file_test_1.o two_file_test_1b_pie.o two_file_test_main_pie.o two_file_shared_2.so
+	$(CXXLINK) -Wl,-R,. -pie two_file_test_1.o two_file_test_1b_pie.o two_file_test_main_pie.o two_file_shared_2.so
 
 endif FN_PTRS_IN_SO_WITHOUT_PIC
 
@@ -708,7 +718,7 @@ check_PROGRAMS += two_file_same_shared_strip_test
 two_file_same_shared_strip_test_SOURCES = two_file_test_main.cc
 two_file_same_shared_strip_test_DEPENDENCIES = \
 	gcctestdir/ld two_file_shared_strip.so
-two_file_same_shared_strip_test_LDFLAGS = -Bgcctestdir/ -Wl,-R.
+two_file_same_shared_strip_test_LDFLAGS = -Wl,-R.
 two_file_same_shared_strip_test_LDADD = two_file_shared_strip.so
 two_file_shared_strip.so: two_file_shared.so
 	$(TEST_STRIP) -S -o two_file_shared_strip.so two_file_shared.so
@@ -716,22 +726,21 @@ two_file_shared_strip.so: two_file_shared.so
 check_PROGRAMS += common_test_1
 common_test_1_SOURCES = common_test_1.c
 common_test_1_DEPENDENCIES = gcctestdir/ld
-common_test_1_LDFLAGS = -Bgcctestdir/
 common_test_1_LDADD =
 
 check_PROGRAMS += common_test_2
 common_test_2_SOURCES = common_test_1.c
 common_test_2_DEPENDENCIES = common_test_2.so common_test_3.so gcctestdir/ld
-common_test_2_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+common_test_2_LDFLAGS = -Wl,-R,.
 common_test_2_LDADD = common_test_2.so common_test_3.so
 common_test_2_pic.o: common_test_2.c
 	$(COMPILE) -c -fpic -o $@ $<
 common_test_2.so: common_test_2_pic.o common_test_3.so gcctestdir/ld
-	$(LINK) -Bgcctestdir/ -shared common_test_2_pic.o common_test_3.so
+	$(LINK) -shared common_test_2_pic.o common_test_3.so
 common_test_3_pic.o: common_test_3.c
 	$(COMPILE) -c -fpic -o $@ $<
 common_test_3.so: common_test_3_pic.o ver_test_2.script gcctestdir/ld
-	$(LINK) -Bgcctestdir/ -shared common_test_3_pic.o -Wl,--version-script,$(srcdir)/ver_test_2.script
+	$(LINK) -shared common_test_3_pic.o -Wl,--version-script,$(srcdir)/ver_test_2.script
 
 check_PROGRAMS += exception_test
 check_PROGRAMS += exception_shared_1_test
@@ -744,11 +753,11 @@ exception_test_1_pic.o: exception_test_1.cc
 exception_test_2_pic.o: exception_test_2.cc
 	$(CXXCOMPILE) -c -fpic -o $@ $<
 exception_shared_1.so: exception_test_1_pic.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared exception_test_1_pic.o
+	$(CXXLINK) -shared exception_test_1_pic.o
 exception_shared_2.so: exception_test_2_pic.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared exception_test_2_pic.o
+	$(CXXLINK) -shared exception_test_2_pic.o
 exception_shared.so: exception_test_1_pic.o exception_test_2_pic.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared exception_test_1_pic.o exception_test_2_pic.o
+	$(CXXLINK) -shared exception_test_1_pic.o exception_test_2_pic.o
 
 exception_test_SOURCES = \
 	exception_test_main.cc \
@@ -756,7 +765,6 @@ exception_test_SOURCES = \
 	exception_test_2.cc \
 	exception_test.h
 exception_test_DEPENDENCIES = gcctestdir/ld
-exception_test_LDFLAGS = -Bgcctestdir/
 exception_test_LDADD =
 
 if HAVE_STATIC
@@ -769,32 +777,30 @@ endif
 
 exception_shared_1_test_SOURCES = exception_test_2.cc exception_test_main.cc
 exception_shared_1_test_DEPENDENCIES = gcctestdir/ld exception_shared_1.so
-exception_shared_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+exception_shared_1_test_LDFLAGS = -Wl,-R,.
 exception_shared_1_test_LDADD = exception_shared_1.so
 
 exception_shared_2_test_SOURCES = exception_test_1.cc exception_test_main.cc
 exception_shared_2_test_DEPENDENCIES = gcctestdir/ld exception_shared_2.so
-exception_shared_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+exception_shared_2_test_LDFLAGS = -Wl,-R,.
 exception_shared_2_test_LDADD = exception_shared_2.so
 
 exception_same_shared_test_SOURCES = exception_test_main.cc
 exception_same_shared_test_DEPENDENCIES = gcctestdir/ld exception_shared.so
-exception_same_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+exception_same_shared_test_LDFLAGS = -Wl,-R,.
 exception_same_shared_test_LDADD = exception_shared.so
 
 exception_separate_shared_12_test_SOURCES = exception_test_main.cc
 exception_separate_shared_12_test_DEPENDENCIES = \
 	gcctestdir/ld exception_shared_1.so exception_shared_2.so
-exception_separate_shared_12_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. \
-	-Wl,--no-as-needed
+exception_separate_shared_12_test_LDFLAGS = -Wl,-R,. -Wl,--no-as-needed
 exception_separate_shared_12_test_LDADD = \
 	exception_shared_1.so exception_shared_2.so
 
 exception_separate_shared_21_test_SOURCES = exception_test_main.cc
 exception_separate_shared_21_test_DEPENDENCIES = \
 	gcctestdir/ld exception_shared_1.so exception_shared_2.so
-exception_separate_shared_21_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. \
-	-Wl,--no-as-needed
+exception_separate_shared_21_test_LDFLAGS = -Wl,-R,. -Wl,--no-as-needed
 exception_separate_shared_21_test_LDADD = \
 	exception_shared_2.so exception_shared_1.so
 
@@ -802,29 +808,28 @@ exception_separate_shared_21_test_LDADD = \
 check_PROGRAMS += weak_test
 weak_test_SOURCES = weak_test.cc
 weak_test_DEPENDENCIES = gcctestdir/ld
-weak_test_LDFLAGS = -Bgcctestdir/
 weak_test_LDADD =
 
 check_PROGRAMS += weak_undef_test
 MOSTLYCLEANFILES += alt/weak_undef_lib.so
 weak_undef_test_SOURCES = weak_undef_test.cc
 weak_undef_test_DEPENDENCIES = gcctestdir/ld weak_undef_lib.so alt/weak_undef_lib.so
-weak_undef_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,alt
+weak_undef_test_LDFLAGS = -Wl,-R,alt
 weak_undef_test_LDADD = -L . weak_undef_lib.so
 weak_undef_file1.o: weak_undef_file1.cc
 	$(CXXCOMPILE) -c -fpic -o $@ $<
 weak_undef_file2.o: weak_undef_file2.cc
 	$(CXXCOMPILE) -c -fpic -o $@ $<
 weak_undef_lib.so: weak_undef_file1.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared weak_undef_file1.o
+	$(CXXLINK) -shared weak_undef_file1.o
 alt/weak_undef_lib.so: weak_undef_file2.o gcctestdir/ld
 	test -d alt || mkdir -p alt
-	$(CXXLINK) -Bgcctestdir/ -shared weak_undef_file2.o
+	$(CXXLINK) -shared weak_undef_file2.o
 
 check_PROGRAMS += weak_undef_test_2
 weak_undef_test_2_SOURCES = weak_undef_test_2.cc
 weak_undef_test_2_DEPENDENCIES = gcctestdir/ld libweak_undef_2.a
-weak_undef_test_2_LDFLAGS = -Bgcctestdir/ -u weak_undef_2
+weak_undef_test_2_LDFLAGS = -u weak_undef_2
 weak_undef_test_2_LDADD = -L . -lweak_undef_2
 MOSTLYCLEANFILES += libweak_undef_2.a
 libweak_undef_2.a: weak_undef_file3.o weak_undef_file4.o
@@ -839,17 +844,17 @@ check_PROGRAMS += weak_undef_nonpic_test
 MOSTLYCLEANFILES += alt/weak_undef_lib_nonpic.so
 weak_undef_nonpic_test_SOURCES = weak_undef_test.cc
 weak_undef_nonpic_test_DEPENDENCIES = gcctestdir/ld weak_undef_lib_nonpic.so alt/weak_undef_lib_nonpic.so
-weak_undef_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,alt
+weak_undef_nonpic_test_LDFLAGS = -Wl,-R,alt
 weak_undef_nonpic_test_LDADD = -L . weak_undef_lib_nonpic.so
 weak_undef_file1_nonpic.o: weak_undef_file1.cc
 	$(CXXCOMPILE) -c -o $@ $<
 weak_undef_file2_nonpic.o: weak_undef_file2.cc
 	$(CXXCOMPILE) -c -o $@ $<
 weak_undef_lib_nonpic.so: weak_undef_file1_nonpic.o
-	$(CXXLINK) -Bgcctestdir/ -shared weak_undef_file1_nonpic.o -Wl,-z,notext
+	$(CXXLINK) -shared weak_undef_file1_nonpic.o -Wl,-z,notext
 alt/weak_undef_lib_nonpic.so: weak_undef_file2_nonpic.o
 	test -d alt || mkdir -p alt
-	$(CXXLINK) -Bgcctestdir/ -shared weak_undef_file2_nonpic.o -Wl,-z,notext
+	$(CXXLINK) -shared weak_undef_file2_nonpic.o -Wl,-z,notext
 endif FN_PTRS_IN_SO_WITHOUT_PIC
 
 
@@ -858,28 +863,28 @@ weak_alias_test_SOURCES = weak_alias_test_main.cc
 weak_alias_test_DEPENDENCIES = \
 	gcctestdir/ld weak_alias_test_1.so weak_alias_test_2.so \
 	weak_alias_test_3.o weak_alias_test_4.so weak_alias_test_5.so
-weak_alias_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+weak_alias_test_LDFLAGS = -Wl,-R,.
 weak_alias_test_LDADD = \
 	weak_alias_test_1.so weak_alias_test_2.so weak_alias_test_3.o \
 	weak_alias_test_4.so weak_alias_test_5.so
 weak_alias_test_1_pic.o: weak_alias_test_1.cc
 	$(CXXCOMPILE) -c -fpic -o $@ $<
 weak_alias_test_1.so: weak_alias_test_1_pic.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared weak_alias_test_1_pic.o
+	$(CXXLINK) -shared weak_alias_test_1_pic.o
 weak_alias_test_2_pic.o: weak_alias_test_2.cc
 	$(CXXCOMPILE) -c -fpic -o $@ $<
 weak_alias_test_2.so: weak_alias_test_2_pic.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared weak_alias_test_2_pic.o
+	$(CXXLINK) -shared weak_alias_test_2_pic.o
 weak_alias_test_3.o: weak_alias_test_3.cc
 	$(CXXCOMPILE) -c -o $@ $<
 weak_alias_test_4_pic.o: weak_alias_test_4.cc
 	$(CXXCOMPILE) -c -fpic -o $@ $<
 weak_alias_test_4.so: weak_alias_test_4_pic.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared weak_alias_test_4_pic.o
+	$(CXXLINK) -shared weak_alias_test_4_pic.o
 weak_alias_test_5_pic.o: weak_alias_test_5.cc
 	$(CXXCOMPILE) -c -fpic -o $@ $<
 weak_alias_test_5.so: weak_alias_test_5_pic.o $(srcdir)/weak_alias_test.script gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared weak_alias_test_5_pic.o \
+	$(CXXLINK) -shared weak_alias_test_5_pic.o \
 		-Wl,--version-script,$(srcdir)/weak_alias_test.script
 
 check_SCRIPTS += weak_plt.sh
@@ -888,43 +893,43 @@ check_DATA += weak_plt_shared.so
 weak_plt_main_pic.o: weak_plt_main.cc
 	$(CXXCOMPILE) -c -fpic -o $@ $<
 weak_plt: weak_plt_main_pic.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ weak_plt_main_pic.o
+	$(CXXLINK) weak_plt_main_pic.o
 weak_plt_shared_pic.o: weak_plt_shared.cc
 	$(CXXCOMPILE) -c -fpic -o $@ $<
 weak_plt_shared.so: weak_plt_shared_pic.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared weak_plt_shared_pic.o
+	$(CXXLINK) -shared weak_plt_shared_pic.o
 
 check_PROGRAMS += copy_test
 copy_test_SOURCES = copy_test.cc
 copy_test_DEPENDENCIES = gcctestdir/ld copy_test_1.so copy_test_2.so
-copy_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+copy_test_LDFLAGS = -Wl,-R,.
 copy_test_LDADD = copy_test_1.so copy_test_2.so
 copy_test_1_pic.o: copy_test_1.cc
 	$(CXXCOMPILE) -c -fpic -o $@ $<
 copy_test_1.so: gcctestdir/ld copy_test_1_pic.o
-	$(CXXLINK) -Bgcctestdir/ -shared copy_test_1_pic.o
+	$(CXXLINK) -shared copy_test_1_pic.o
 copy_test_2_pic.o: copy_test_2.cc
 	$(CXXCOMPILE) -c -fpic -o $@ $<
 copy_test_2.so: gcctestdir/ld copy_test_2_pic.o
-	$(CXXLINK) -Bgcctestdir/ -shared copy_test_2_pic.o
+	$(CXXLINK) -shared copy_test_2_pic.o
 
 check_PROGRAMS += copy_test_relro
 copy_test_relro_SOURCES = copy_test_relro.cc
 copy_test_relro_DEPENDENCIES = gcctestdir/ld copy_test_relro_1.so
-copy_test_relro_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -Wl,-z,relro
+copy_test_relro_LDFLAGS = -Wl,-R,. -Wl,-z,relro
 copy_test_relro_LDADD = copy_test_relro_1.so
 copy_test_relro_1_pic.o: copy_test_relro_1.cc
 	$(CXXCOMPILE) -c -fpic -o $@ $<
 copy_test_relro_1.so: gcctestdir/ld copy_test_relro_1_pic.o
-	$(CXXLINK) -Bgcctestdir/ -shared -Wl,-z,relro copy_test_relro_1_pic.o
+	$(CXXLINK) -shared -Wl,-z,relro copy_test_relro_1_pic.o
 
 if !DEFAULT_TARGET_POWERPC
 check_SCRIPTS += copy_test_protected.sh
 check_DATA += copy_test_protected.err
 MOSTLYCLEANFILES += copy_test_protected.err
 copy_test_protected.err: copy_test_protected.o copy_test_2.so gcctestdir/ld
-	@echo $(CXXLINK) -Bgcctestdir/ -o copy_test_protected copy_test_protected.o copy_test_2.so -Wl,-R,. "2>$@"
-	@if $(CXXLINK) -Bgcctestdir/ -o copy_test_protected copy_test_protected.o copy_test_2.so -Wl,-R,. 2>$@; \
+	@echo $(CXXLINK) -o copy_test_protected copy_test_protected.o copy_test_2.so -Wl,-R,. "2>$@"
+	@if $(CXXLINK) -o copy_test_protected copy_test_protected.o copy_test_2.so -Wl,-R,. 2>$@; \
 	then \
 	  echo 1>&2 "Link of copy_test_protected should have failed"; \
 	  rm -f $@; \
@@ -948,9 +953,9 @@ tls_test_file2_pic.o: tls_test_file2.cc
 tls_test_c_pic.o: tls_test_c.c
 	$(COMPILE) -c -fpic $(TLS_TEST_C_CFLAGS) -o $@ $<
 tls_test_shared.so: tls_test_pic.o tls_test_file2_pic.o tls_test_c_pic.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared tls_test_pic.o tls_test_file2_pic.o tls_test_c_pic.o -Wl,-z,defs
+	$(CXXLINK) -shared tls_test_pic.o tls_test_file2_pic.o tls_test_c_pic.o -Wl,-z,defs
 tls_test_shared2.so: tls_test_file2_pic.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared tls_test_file2_pic.o
+	$(CXXLINK) -shared tls_test_file2_pic.o
 
 tls_test_pic_ie.o: tls_test.cc
 	$(CXXCOMPILE) -c -fpic -ftls-model=initial-exec -o $@ $<
@@ -959,11 +964,11 @@ tls_test_file2_pic_ie.o: tls_test_file2.cc
 tls_test_c_pic_ie.o: tls_test_c.c
 	$(COMPILE) -c -fpic -ftls-model=initial-exec $(TLS_TEST_C_CFLAGS) -o $@ $<
 tls_test_ie_shared.so: tls_test_pic_ie.o tls_test_file2_pic_ie.o tls_test_c_pic_ie.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared tls_test_pic_ie.o tls_test_file2_pic_ie.o tls_test_c_pic_ie.o
+	$(CXXLINK) -shared tls_test_pic_ie.o tls_test_file2_pic_ie.o tls_test_c_pic_ie.o
 
 tls_test_SOURCES = tls_test.cc tls_test_file2.cc tls_test_main.cc tls_test.h
 tls_test_DEPENDENCIES = gcctestdir/ld tls_test_c.o
-tls_test_LDFLAGS = -Bgcctestdir/ $(THREADFLAGS)
+tls_test_LDFLAGS = $(THREADFLAGS)
 tls_test_LDADD = tls_test_c.o $(THREADLIBS)
 tls_test_c.o: tls_test_c.c
 	$(COMPILE) -c $(TLS_TEST_C_CFLAGS) -o $@ $<
@@ -971,7 +976,7 @@ tls_test_c.o: tls_test_c.c
 tls_pic_test_SOURCES = tls_test_main.cc
 tls_pic_test_DEPENDENCIES = gcctestdir/ld tls_test_pic.o tls_test_file2_pic.o \
 	tls_test_c_pic.o
-tls_pic_test_LDFLAGS = -Bgcctestdir/ $(THREADFLAGS)
+tls_pic_test_LDFLAGS = $(THREADFLAGS)
 tls_pic_test_LDADD = tls_test_pic.o tls_test_file2_pic.o tls_test_c_pic.o \
 	$(THREADLIBS)
 
@@ -985,7 +990,7 @@ tls_test_c_pie.o: tls_test_c.c
 	$(COMPILE) -c -fpic $(TLS_TEST_C_CFLAGS) -o $@ $<
 tls_pie_test: tls_test_main_pie.o tls_test_pie.o tls_test_file2_pie.o \
 		tls_test_c_pie.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ $(THREADFLAGS) -pie tls_test_main_pie.o tls_test_pie.o tls_test_file2_pie.o tls_test_c_pie.o $(THREADLIBS)
+	$(CXXLINK) $(THREADFLAGS) -pie tls_test_main_pie.o tls_test_pie.o tls_test_file2_pie.o tls_test_c_pie.o $(THREADLIBS)
 
 check_SCRIPTS += tls_pie_test.sh
 check_DATA += tls_pie_test.stdout
@@ -994,22 +999,22 @@ tls_pie_test.stdout: tls_pie_test
 
 tls_pie_pic_test: tls_test_main_pie.o tls_test_pic.o tls_test_file2_pic.o \
 		tls_test_c_pic.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ $(THREADFLAGS) -pie tls_test_main_pie.o tls_test_pic.o tls_test_file2_pic.o tls_test_c_pic.o $(THREADLIBS)
+	$(CXXLINK) $(THREADFLAGS) -pie tls_test_main_pie.o tls_test_pic.o tls_test_file2_pic.o tls_test_c_pic.o $(THREADLIBS)
 
 tls_shared_test_SOURCES = tls_test_main.cc
 tls_shared_test_DEPENDENCIES = gcctestdir/ld tls_test_shared.so
-tls_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. $(THREADFLAGS)
+tls_shared_test_LDFLAGS = -Wl,-R,. $(THREADFLAGS)
 tls_shared_test_LDADD = tls_test_shared.so $(THREADLIBS)
 
 tls_shared_ie_test_SOURCES = tls_test_main.cc
 tls_shared_ie_test_DEPENDENCIES = gcctestdir/ld tls_test_ie_shared.so
-tls_shared_ie_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. $(THREADFLAGS)
+tls_shared_ie_test_LDFLAGS = -Wl,-R,. $(THREADFLAGS)
 tls_shared_ie_test_LDADD = tls_test_ie_shared.so $(THREADLIBS)
 
 tls_shared_gd_to_ie_test_SOURCES = tls_test_main.cc
 tls_shared_gd_to_ie_test_DEPENDENCIES = gcctestdir/ld tls_test_pic.o \
 	tls_test_c_pic.o tls_test_shared2.so
-tls_shared_gd_to_ie_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. $(THREADFLAGS)
+tls_shared_gd_to_ie_test_LDFLAGS = -Wl,-R,. $(THREADFLAGS)
 tls_shared_gd_to_ie_test_LDADD = tls_test_pic.o tls_test_c_pic.o \
 	tls_test_shared2.so $(THREADLIBS)
 
@@ -1024,12 +1029,12 @@ tls_test_file2_gnu2.o: tls_test_file2.cc
 tls_test_c_gnu2.o: tls_test_c.c
 	$(COMPILE) -c -fpic -mtls-dialect=gnu2 $(TLS_TEST_C_CFLAGS) -o $@ $<
 tls_test_gnu2_shared2.so: tls_test_file2_gnu2.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared tls_test_file2_gnu2.o
+	$(CXXLINK) -shared tls_test_file2_gnu2.o
 
 tls_shared_gnu2_gd_to_ie_test_SOURCES = tls_test_main.cc
 tls_shared_gnu2_gd_to_ie_test_DEPENDENCIES = gcctestdir/ld tls_test_gnu2.o \
 	tls_test_c_gnu2.o tls_test_gnu2_shared2.so
-tls_shared_gnu2_gd_to_ie_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. $(THREADFLAGS)
+tls_shared_gnu2_gd_to_ie_test_LDFLAGS = -Wl,-R,. $(THREADFLAGS)
 tls_shared_gnu2_gd_to_ie_test_LDADD = tls_test_gnu2.o tls_test_c_gnu2.o \
 	tls_test_gnu2_shared2.so $(THREADLIBS)
 
@@ -1038,11 +1043,11 @@ if TLS_DESCRIPTORS
 check_PROGRAMS += tls_shared_gnu2_test
 
 tls_test_gnu2_shared.so: tls_test_gnu2.o tls_test_file2_gnu2.o tls_test_c_gnu2.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared tls_test_gnu2.o tls_test_file2_gnu2.o tls_test_c_gnu2.o
+	$(CXXLINK) -shared tls_test_gnu2.o tls_test_file2_gnu2.o tls_test_c_gnu2.o
 
 tls_shared_gnu2_test_SOURCES = tls_test_main.cc
 tls_shared_gnu2_test_DEPENDENCIES = gcctestdir/ld tls_test_gnu2_shared.so
-tls_shared_gnu2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. $(THREADFLAGS)
+tls_shared_gnu2_test_LDFLAGS = -Wl,-R,. $(THREADFLAGS)
 tls_shared_gnu2_test_LDADD = tls_test_gnu2_shared.so $(THREADLIBS)
 
 endif TLS_DESCRIPTORS
@@ -1069,11 +1074,11 @@ endif
 if FN_PTRS_IN_SO_WITHOUT_PIC
 check_PROGRAMS += tls_shared_nonpic_test
 tls_test_shared_nonpic.so: tls_test.o tls_test_file2.o tls_test_c.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared tls_test.o tls_test_file2.o tls_test_c.o -Wl,-z,notext
+	$(CXXLINK) -shared tls_test.o tls_test_file2.o tls_test_c.o -Wl,-z,notext
 
 tls_shared_nonpic_test_SOURCES = tls_test_main.cc
 tls_shared_nonpic_test_DEPENDENCIES = gcctestdir/ld tls_test_shared_nonpic.so
-tls_shared_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. $(THREADFLAGS)
+tls_shared_nonpic_test_LDFLAGS = -Wl,-R,. $(THREADFLAGS)
 tls_shared_nonpic_test_LDADD = tls_test_shared_nonpic.so $(THREADLIBS)
 endif FN_PTRS_IN_SO_WITHOUT_PIC
 
@@ -1112,33 +1117,33 @@ x86_64_mov_to_lea7.o: x86_64_mov_to_lea4.s
 x86_64_mov_to_lea8.o: x86_64_mov_to_lea4.s
 	$(TEST_AS) --64 -o $@ $<
 x86_64_mov_to_lea1: x86_64_mov_to_lea1.o ../ld-new
-	../ld-new -Bsymbolic -shared  -melf_x86_64  -o $@ $<
+	../ld-new -Bsymbolic -shared -melf_x86_64 -o $@ $<
 x86_64_mov_to_lea2: x86_64_mov_to_lea1.o ../ld-new
-	../ld-new -pie -melf_x86_64  -o $@ $<
+	../ld-new -pie -melf_x86_64 -o $@ $<
 x86_64_mov_to_lea3: x86_64_mov_to_lea1.o ../ld-new
-	../ld-new -melf_x86_64  -o $@ $<
+	../ld-new -melf_x86_64 -o $@ $<
 x86_64_mov_to_lea4: x86_64_mov_to_lea2.o ../ld-new
-	../ld-new -Bsymbolic -shared  -melf32_x86_64  -o $@ $<
+	../ld-new -Bsymbolic -shared -melf32_x86_64 -o $@ $<
 x86_64_mov_to_lea5: x86_64_mov_to_lea2.o ../ld-new
-	../ld-new -pie -melf32_x86_64  -o $@ $<
+	../ld-new -pie -melf32_x86_64 -o $@ $<
 x86_64_mov_to_lea6: x86_64_mov_to_lea2.o ../ld-new
-	../ld-new -melf32_x86_64  -o $@ $<
+	../ld-new -melf32_x86_64 -o $@ $<
 x86_64_mov_to_lea7: x86_64_mov_to_lea3.o ../ld-new
 	../ld-new -melf32_x86_64 -pie -o $@ $<
 x86_64_mov_to_lea8: x86_64_mov_to_lea4.o ../ld-new
 	../ld-new -melf_x86_64 -pie -o $@ $<
 x86_64_mov_to_lea9: x86_64_mov_to_lea5.o ../ld-new
-	../ld-new -melf32_x86_64  -o $@ $<
+	../ld-new -melf32_x86_64 -o $@ $<
 x86_64_mov_to_lea10: x86_64_mov_to_lea6.o ../ld-new
-	../ld-new -melf_x86_64  -o $@ $<
+	../ld-new -melf_x86_64 -o $@ $<
 x86_64_mov_to_lea11: x86_64_mov_to_lea2.o ../ld-new
-	../ld-new -melf32_x86_64 -shared  -o $@ $<
+	../ld-new -melf32_x86_64 -shared -o $@ $<
 x86_64_mov_to_lea12: x86_64_mov_to_lea1.o ../ld-new
-	../ld-new -melf_x86_64 -shared  -o $@ $<
+	../ld-new -melf_x86_64 -shared -o $@ $<
 x86_64_mov_to_lea13: x86_64_mov_to_lea7.o ../ld-new
-	../ld-new -melf32_x86_64 -shared  -o $@ $<
+	../ld-new -melf32_x86_64 -shared -o $@ $<
 x86_64_mov_to_lea14: x86_64_mov_to_lea8.o ../ld-new
-	../ld-new -melf_x86_64 -shared  -o $@ $<
+	../ld-new -melf_x86_64 -shared -o $@ $<
 x86_64_mov_to_lea1.stdout: x86_64_mov_to_lea1
 	$(TEST_OBJDUMP) -dw $< > $@
 x86_64_mov_to_lea2.stdout: x86_64_mov_to_lea2
@@ -1203,7 +1208,7 @@ x86_64_overflow_pc32.err: x86_64_overflow_pc32.o gcctestdir/ld
 
 check_PROGRAMS += pr17704a_test
 pr17704a_test.o: pr17704a_test.s
-	$(TEST_AS) --64  -o $@ $<
+	$(TEST_AS) --64 -o $@ $<
 pr17704a_test: pr17704a_test.o gcctestdir/ld
 	gcctestdir/ld --icf=all -o $@ $<
 
@@ -1254,59 +1259,59 @@ if DEFAULT_TARGET_X86_64_OR_X32
 check_PROGRAMS += pr20216a_test
 pr20216a_test_SOURCES = pr20216_main.c pr20216_def.c
 pr20216a_test_DEPENDENCIES = pr20216_gd.o pr20216_ld.o gcctestdir/ld gcctestdir/as
-pr20216a_test_CFLAGS = -Bgcctestdir/ -fPIE
-pr20216a_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+pr20216a_test_CFLAGS = -fPIE
+pr20216a_test_LDFLAGS = -Wl,-R,.
 pr20216a_test_LDADD = pr20216_gd.o pr20216_ld.o
 
 check_PROGRAMS += pr20216b_test
 pr20216b_test_SOURCES = pr20216_main.c pr20216_def.c
 pr20216b_test_DEPENDENCIES = pr20216_gd.o pr20216_ld.o gcctestdir/ld gcctestdir/as
-pr20216b_test_CFLAGS = -Bgcctestdir/ -fPIE
-pr20216b_test_LDFLAGS = -pie -Bgcctestdir/ -Wl,-R,.
+pr20216b_test_CFLAGS = -fPIE
+pr20216b_test_LDFLAGS = -pie -Wl,-R,.
 pr20216b_test_LDADD = pr20216_gd.o pr20216_ld.o
 
 check_PROGRAMS += pr20216c_test
 pr20216c_test_SOURCES = pr20216_main.c pr20216_def.c
 pr20216c_test_DEPENDENCIES = pr20216_gd.o pr20216_ld.o gcctestdir/ld gcctestdir/as
-pr20216c_test_CFLAGS = -Bgcctestdir/ -fPIE
-pr20216c_test_LDFLAGS = -static -Bgcctestdir/ -Wl,-R,.
+pr20216c_test_CFLAGS = -fPIE
+pr20216c_test_LDFLAGS = -static -Wl,-R,.
 pr20216c_test_LDADD = pr20216_gd.o pr20216_ld.o
 
 check_PROGRAMS += pr20216d_test
 pr20216d_test_SOURCES = pr20216_main.c pr20216_def.c
 pr20216d_test_DEPENDENCIES = pr20216a.so gcctestdir/ld gcctestdir/as
-pr20216d_test_CFLAGS = -Bgcctestdir/ -fPIE
-pr20216d_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+pr20216d_test_CFLAGS = -fPIE
+pr20216d_test_LDFLAGS = -Wl,-R,.
 pr20216d_test_LDADD = pr20216a.so
 
 check_PROGRAMS += pr20216e_test
 pr20216e_test_SOURCES = pr20216_main.c
 pr20216e_test_DEPENDENCIES = pr20216_gd.o pr20216_ld.o pr20216b.so gcctestdir/ld gcctestdir/as
-pr20216e_test_CFLAGS = -Bgcctestdir/ -fPIE
-pr20216e_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+pr20216e_test_CFLAGS = -fPIE
+pr20216e_test_LDFLAGS = -Wl,-R,.
 pr20216e_test_LDADD = pr20216_gd.o pr20216_ld.o pr20216b.so
 
 MOSTLYCLEANFILES += pr20216a.so pr20216b.so
 
 pr20216a.so: pr20216_gd.o pr20216_ld.o gcctestdir/ld
-	$(LINK) -Bgcctestdir/ -shared pr20216_gd.o pr20216_ld.o
+	$(LINK) -shared pr20216_gd.o pr20216_ld.o
 
 pr20216b.so: pr20216_def.o gcctestdir/ld
-	$(LINK) -Bgcctestdir/ -shared pr20216_def.o
+	$(LINK) -shared pr20216_def.o
 
 pr20216_gd.o: pr20216_gd.S gcctestdir/as
-	$(COMPILE) -Bgcctestdir/ -c -o $@ $<
+	$(COMPILE) -c -o $@ $<
 
 pr20216_ld.o: pr20216_ld.S gcctestdir/as
-	$(COMPILE) -Bgcctestdir/ -c -o $@ $<
+	$(COMPILE) -c -o $@ $<
 
 endif DEFAULT_TARGET_X86_64_OR_X32
 
 if DEFAULT_TARGET_I386
 
 check_SCRIPTS += i386_mov_to_lea.sh
-check_DATA += i386_mov_to_lea1.stdout  i386_mov_to_lea2.stdout \
-	i386_mov_to_lea3.stdout  i386_mov_to_lea4.stdout \
+check_DATA += i386_mov_to_lea1.stdout i386_mov_to_lea2.stdout \
+	i386_mov_to_lea3.stdout i386_mov_to_lea4.stdout \
 	i386_mov_to_lea5.stdout i386_mov_to_lea6.stdout \
 	i386_mov_to_lea7.stdout i386_mov_to_lea8.stdout
 MOSTLYCLEANFILES += i386_mov_to_lea1 i386_mov_to_lea2 i386_mov_to_lea3 \
@@ -1324,21 +1329,21 @@ i386_mov_to_lea4.o: i386_mov_to_lea4.s
 i386_mov_to_lea5.o: i386_mov_to_lea5.s
 	$(TEST_AS) --32 -o $@ $<
 i386_mov_to_lea1: i386_mov_to_lea1.o ../ld-new
-	../ld-new -Bsymbolic -shared -melf_i386  -o $@ $<
+	../ld-new -Bsymbolic -shared -melf_i386 -o $@ $<
 i386_mov_to_lea2: i386_mov_to_lea1.o ../ld-new
-	../ld-new  -pie -melf_i386  -o $@ $<
+	../ld-new -pie -melf_i386 -o $@ $<
 i386_mov_to_lea3: i386_mov_to_lea1.o ../ld-new
-	../ld-new -melf_i386  -o $@ $<
+	../ld-new -melf_i386 -o $@ $<
 i386_mov_to_lea4: i386_mov_to_lea1.o ../ld-new
-	../ld-new -melf_i386 -shared  -o $@ $<
+	../ld-new -melf_i386 -shared -o $@ $<
 i386_mov_to_lea5: i386_mov_to_lea2.o ../ld-new
-	../ld-new -melf_i386 -shared  -o $@ $<
+	../ld-new -melf_i386 -shared -o $@ $<
 i386_mov_to_lea6: i386_mov_to_lea3.o ../ld-new
-	../ld-new -melf_i386 -shared  -o $@ $<
+	../ld-new -melf_i386 -shared -o $@ $<
 i386_mov_to_lea7: i386_mov_to_lea4.o ../ld-new
-	../ld-new -melf_i386 -shared  -o $@ $<
+	../ld-new -melf_i386 -shared -o $@ $<
 i386_mov_to_lea8: i386_mov_to_lea5.o ../ld-new
-	../ld-new -melf_i386 -shared  -o $@ $<
+	../ld-new -melf_i386 -shared -o $@ $<
 i386_mov_to_lea1.stdout: i386_mov_to_lea1
 	$(TEST_OBJDUMP) -dw $< > $@
 i386_mov_to_lea2.stdout: i386_mov_to_lea2
@@ -1359,58 +1364,58 @@ i386_mov_to_lea8.stdout: i386_mov_to_lea8
 check_PROGRAMS += pr20308a_test
 pr20308a_test_SOURCES = pr20308_main.c pr20308_def.c
 pr20308a_test_DEPENDENCIES = pr20308_gd.o pr20308_ld.o gcctestdir/ld gcctestdir/as
-pr20308a_test_CFLAGS = -Bgcctestdir/ -fPIE
-pr20308a_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+pr20308a_test_CFLAGS = -fPIE
+pr20308a_test_LDFLAGS = -Wl,-R,.
 pr20308a_test_LDADD = pr20308_gd.o pr20308_ld.o
 
 check_PROGRAMS += pr20308b_test
 pr20308b_test_SOURCES = pr20308_main.c pr20308_def.c
 pr20308b_test_DEPENDENCIES = pr20308_gd.o pr20308_ld.o gcctestdir/ld gcctestdir/as
-pr20308b_test_CFLAGS = -Bgcctestdir/ -fPIE
-pr20308b_test_LDFLAGS = -pie -Bgcctestdir/ -Wl,-R,.
+pr20308b_test_CFLAGS = -fPIE
+pr20308b_test_LDFLAGS = -pie -Wl,-R,.
 pr20308b_test_LDADD = pr20308_gd.o pr20308_ld.o
 
 check_PROGRAMS += pr20308c_test
 pr20308c_test_SOURCES = pr20308_main.c pr20308_def.c
 pr20308c_test_DEPENDENCIES = pr20308_gd.o pr20308_ld.o gcctestdir/ld gcctestdir/as
-pr20308c_test_CFLAGS = -Bgcctestdir/ -fPIE
-pr20308c_test_LDFLAGS = -static -Bgcctestdir/ -Wl,-R,.
+pr20308c_test_CFLAGS = -fPIE
+pr20308c_test_LDFLAGS = -static -Wl,-R,.
 pr20308c_test_LDADD = pr20308_gd.o pr20308_ld.o
 
 check_PROGRAMS += pr20308d_test
 pr20308d_test_SOURCES = pr20308_main.c pr20308_def.c
 pr20308d_test_DEPENDENCIES = pr20308a.so gcctestdir/ld gcctestdir/as
-pr20308d_test_CFLAGS = -Bgcctestdir/ -fPIE
-pr20308d_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+pr20308d_test_CFLAGS = -fPIE
+pr20308d_test_LDFLAGS = -Wl,-R,.
 pr20308d_test_LDADD = pr20308a.so
 
 check_PROGRAMS += pr20308e_test
 pr20308e_test_SOURCES = pr20308_main.c
 pr20308e_test_DEPENDENCIES = pr20308_gd.o pr20308_ld.o pr20308b.so gcctestdir/ld gcctestdir/as
-pr20308e_test_CFLAGS = -Bgcctestdir/ -fPIE
-pr20308e_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+pr20308e_test_CFLAGS = -fPIE
+pr20308e_test_LDFLAGS = -Wl,-R,.
 pr20308e_test_LDADD = pr20308_gd.o pr20308_ld.o pr20308b.so
 
 MOSTLYCLEANFILES += pr20308a.so pr20308b.so
 
 pr20308a.so: pr20308_gd.o pr20308_ld.o gcctestdir/ld
-	$(LINK) -Bgcctestdir/ -shared pr20308_gd.o pr20308_ld.o
+	$(LINK) -shared pr20308_gd.o pr20308_ld.o
 
 pr20308b.so: pr20308_def.o gcctestdir/ld
-	$(LINK) -Bgcctestdir/ -shared pr20308_def.o
+	$(LINK) -shared pr20308_def.o
 
 pr20308_gd.o: pr20308_gd.S gcctestdir/as
-	$(COMPILE) -Bgcctestdir/ -c -o $@ $<
+	$(COMPILE) -c -o $@ $<
 
 pr20308_ld.o: pr20308_ld.S gcctestdir/as
-	$(COMPILE) -Bgcctestdir/ -c -o $@ $<
+	$(COMPILE) -c -o $@ $<
 
 endif DEFAULT_TARGET_I386
 
 check_PROGRAMS += many_sections_test
 many_sections_test_SOURCES = many_sections_test.cc
 many_sections_test_DEPENDENCIES = gcctestdir/ld
-many_sections_test_LDFLAGS = -Bgcctestdir/ -rdynamic
+many_sections_test_LDFLAGS = -rdynamic
 many_sections_test_LDADD =
 
 BUILT_SOURCES += many_sections_define.h
@@ -1433,7 +1438,7 @@ check_PROGRAMS += many_sections_r_test
 many_sections_r_test.o: many_sections_test.o gcctestdir/ld
 	gcctestdir/ld -r -o $@ many_sections_test.o
 many_sections_r_test: many_sections_r_test.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ many_sections_r_test.o $(LIBS)
+	$(CXXLINK) many_sections_r_test.o $(LIBS)
 
 check_SCRIPTS += file_in_many_sections_test.sh
 check_DATA += file_in_many_sections.stdout
@@ -1441,26 +1446,24 @@ MOSTLYCLEANFILES += file_in_many_sections
 file_in_many_sections.o: file_in_many_sections.c many_sections_define.h
 	$(COMPILE) -c -fdata-sections -o $@ $(srcdir)/file_in_many_sections.c
 file_in_many_sections: file_in_many_sections.o gcctestdir/ld
-	$(LINK) -Bgcctestdir/ file_in_many_sections.o -Wl,--gc-sections
+	$(LINK) file_in_many_sections.o -Wl,--gc-sections
 file_in_many_sections.stdout: file_in_many_sections
 	$(TEST_READELF) -s $< > $@
 
 check_PROGRAMS += initpri1
 initpri1_SOURCES = initpri1.c
 initpri1_DEPENDENCIES = gcctestdir/ld
-initpri1_LDFLAGS = -Bgcctestdir/
 initpri1_LDADD =
 
 check_PROGRAMS += initpri2
 initpri2_SOURCES = initpri2.c
 initpri2_DEPENDENCIES = gcctestdir/ld
-initpri2_LDFLAGS = -Bgcctestdir/ -Wl,--ctors-in-init-array
+initpri2_LDFLAGS = -Wl,--ctors-in-init-array
 initpri2_LDADD =
 
 check_PROGRAMS += initpri3a
 initpri3a_SOURCES = initpri3.c
 initpri3a_DEPENDENCIES = gcctestdir/ld
-initpri3a_LDFLAGS = -Bgcctestdir/
 initpri3a_LDADD =
 
 # This test fails on targets not using .ctors and .dtors sections (e.g. ARM
@@ -1471,7 +1474,7 @@ initpri3a_LDADD =
 # check_PROGRAMS += initpri3b
 # initpri3b_SOURCES = initpri3.c
 # initpri3b_DEPENDENCIES = gcctestdir/ld
-# initpri3b_LDFLAGS = -Bgcctestdir/ -Wl,--no-ctors-in-init-array
+# initpri3b_LDFLAGS = -Wl,--no-ctors-in-init-array
 # initpri3b_LDADD =
 
 # Test --detect-odr-violations
@@ -1489,8 +1492,8 @@ odr_violation1.o: odr_violation1.cc
 odr_violation2.o: odr_violation2.cc
 	$(CXXCOMPILE) -O2 -g -c -w -o $@ $(srcdir)/odr_violation2.cc
 debug_msg.err: debug_msg.o odr_violation1.o odr_violation2.o gcctestdir/ld
-	@echo $(CXXLINK) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg debug_msg.o odr_violation1.o odr_violation2.o "2>$@"
-	@if $(CXXLINK) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg debug_msg.o odr_violation1.o odr_violation2.o 2>$@; \
+	@echo $(CXXLINK) -Wl,--detect-odr-violations -o debug_msg debug_msg.o odr_violation1.o odr_violation2.o "2>$@"
+	@if $(CXXLINK) -Wl,--detect-odr-violations -o debug_msg debug_msg.o odr_violation1.o odr_violation2.o 2>$@; \
 	then \
 	  echo 1>&2 "Link of debug_msg should have failed"; \
 	  rm -f $@; \
@@ -1504,8 +1507,8 @@ MOSTLYCLEANFILES += missing_key_func.err
 missing_key_func.o: missing_key_func.cc
 	$(CXXCOMPILE) -O0 -g -c -o $@ $(srcdir)/missing_key_func.cc
 missing_key_func.err: missing_key_func.o gcctestdir/ld
-	@echo $(CXXLINK) -Bgcctestdir/ -o missing_key_func missing_key_func.o "2>$@"
-	@if $(CXXLINK) -Bgcctestdir/ -o missing_key_func missing_key_func.o 2>$@; \
+	@echo $(CXXLINK) -o missing_key_func missing_key_func.o "2>$@"
+	@if $(CXXLINK) -o missing_key_func missing_key_func.o 2>$@; \
 	then \
 	  echo 1>&2 "Link of missing_key_func should have failed"; \
 	  rm -f $@; \
@@ -1516,14 +1519,14 @@ missing_key_func.err: missing_key_func.o gcctestdir/ld
 check_DATA += debug_msg_cdebug.err
 MOSTLYCLEANFILES += debug_msg_cdebug.err
 debug_msg_cdebug.o: debug_msg.cc gcctestdir/as
-	$(CXXCOMPILE) -Bgcctestdir/ -O0 -g -Wa,--compress-debug-sections -c -w -o $@ $(srcdir)/debug_msg.cc
+	$(CXXCOMPILE) -O0 -g -Wa,--compress-debug-sections -c -w -o $@ $(srcdir)/debug_msg.cc
 odr_violation1_cdebug.o: odr_violation1.cc gcctestdir/as
-	$(CXXCOMPILE) -Bgcctestdir/ -O0 -g -Wa,--compress-debug-sections -c -w -o $@ $(srcdir)/odr_violation1.cc
+	$(CXXCOMPILE) -O0 -g -Wa,--compress-debug-sections -c -w -o $@ $(srcdir)/odr_violation1.cc
 odr_violation2_cdebug.o: odr_violation2.cc gcctestdir/as
-	$(CXXCOMPILE) -Bgcctestdir/ -O2 -g -Wa,--compress-debug-sections -c -w -o $@ $(srcdir)/odr_violation2.cc
+	$(CXXCOMPILE) -O2 -g -Wa,--compress-debug-sections -c -w -o $@ $(srcdir)/odr_violation2.cc
 debug_msg_cdebug.err: debug_msg_cdebug.o odr_violation1_cdebug.o odr_violation2_cdebug.o gcctestdir/ld
-	@echo $(CXXLINK) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_cdebug debug_msg_cdebug.o odr_violation1_cdebug.o odr_violation2_cdebug.o "2>$@"
-	@if $(CXXLINK) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_cdebug debug_msg_cdebug.o odr_violation1_cdebug.o odr_violation2_cdebug.o 2>$@; \
+	@echo $(CXXLINK) -Wl,--detect-odr-violations -o debug_msg_cdebug debug_msg_cdebug.o odr_violation1_cdebug.o odr_violation2_cdebug.o "2>$@"
+	@if $(CXXLINK) -Wl,--detect-odr-violations -o debug_msg_cdebug debug_msg_cdebug.o odr_violation1_cdebug.o odr_violation2_cdebug.o 2>$@; \
 	then \
 	  echo 1>&2 "Link of debug_msg_cdebug should have failed"; \
 	  rm -f $@; \
@@ -1532,14 +1535,14 @@ debug_msg_cdebug.err: debug_msg_cdebug.o odr_violation1_cdebug.o odr_violation2_
 check_DATA += debug_msg_cdebug_gabi.err
 MOSTLYCLEANFILES += debug_msg_cdebug_gabi.err
 debug_msg_cdebug_gabi.o: debug_msg.cc gcctestdir/as
-	$(CXXCOMPILE) -Bgcctestdir/ -O0 -g -Wa,--compress-debug-sections=zlib-gabi -c -w -o $@ $(srcdir)/debug_msg.cc
+	$(CXXCOMPILE) -O0 -g -Wa,--compress-debug-sections=zlib-gabi -c -w -o $@ $(srcdir)/debug_msg.cc
 odr_violation1_cdebug_gabi.o: odr_violation1.cc gcctestdir/as
-	$(CXXCOMPILE) -Bgcctestdir/ -O0 -g -Wa,--compress-debug-sections=zlib-gabi -c -w -o $@ $(srcdir)/odr_violation1.cc
+	$(CXXCOMPILE) -O0 -g -Wa,--compress-debug-sections=zlib-gabi -c -w -o $@ $(srcdir)/odr_violation1.cc
 odr_violation2_cdebug_gabi.o: odr_violation2.cc gcctestdir/as
-	$(CXXCOMPILE) -Bgcctestdir/ -O2 -g -Wa,--compress-debug-sections=zlib-gabi -c -w -o $@ $(srcdir)/odr_violation2.cc
+	$(CXXCOMPILE) -O2 -g -Wa,--compress-debug-sections=zlib-gabi -c -w -o $@ $(srcdir)/odr_violation2.cc
 debug_msg_cdebug_gabi.err: debug_msg_cdebug_gabi.o odr_violation1_cdebug_gabi.o odr_violation2_cdebug_gabi.o gcctestdir/ld
-	@echo $(CXXLINK) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_cdebug debug_msg_cdebug_gabi.o odr_violation1_cdebug_gabi.o odr_violation2_cdebug_gabi.o "2>$@"
-	@if $(CXXLINK) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_cdebug_gabi debug_msg_cdebug_gabi.o odr_violation1_cdebug_gabi.o odr_violation2_cdebug_gabi.o 2>$@; \
+	@echo $(CXXLINK) -Wl,--detect-odr-violations -o debug_msg_cdebug debug_msg_cdebug_gabi.o odr_violation1_cdebug_gabi.o odr_violation2_cdebug_gabi.o "2>$@"
+	@if $(CXXLINK) -Wl,--detect-odr-violations -o debug_msg_cdebug_gabi debug_msg_cdebug_gabi.o odr_violation1_cdebug_gabi.o odr_violation2_cdebug_gabi.o 2>$@; \
 	then \
 	  echo 1>&2 "Link of debug_msg_cdebug_gabi should have failed"; \
 	  rm -f $@; \
@@ -1550,14 +1553,14 @@ debug_msg_cdebug_gabi.err: debug_msg_cdebug_gabi.o odr_violation1_cdebug_gabi.o
 check_DATA += debug_msg_so.err
 MOSTLYCLEANFILES += debug_msg_so.err
 debug_msg.so: debug_msg.cc gcctestdir/ld
-	$(CXXCOMPILE) -Bgcctestdir/ -O0 -g -shared -fPIC -w -o $@ $(srcdir)/debug_msg.cc
+	$(CXXCOMPILE) -O0 -g -shared -fPIC -w -o $@ $(srcdir)/debug_msg.cc
 odr_violation1.so: odr_violation1.cc gcctestdir/ld
-	$(CXXCOMPILE) -Bgcctestdir/ -O0 -g -shared -fPIC -w -o $@ $(srcdir)/odr_violation1.cc
+	$(CXXCOMPILE) -O0 -g -shared -fPIC -w -o $@ $(srcdir)/odr_violation1.cc
 odr_violation2.so: odr_violation2.cc gcctestdir/ld
-	$(CXXCOMPILE) -Bgcctestdir/ -O2 -g -shared -fPIC -w -o $@ $(srcdir)/odr_violation2.cc
+	$(CXXCOMPILE) -O2 -g -shared -fPIC -w -o $@ $(srcdir)/odr_violation2.cc
 debug_msg_so.err: debug_msg.so odr_violation1.so odr_violation2.so gcctestdir/ld
-	@echo $(CXXLINK_S) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_so debug_msg.so odr_violation1.so odr_violation2.so "2>$@"
-	@if $(CXXLINK_S) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_so debug_msg.so odr_violation1.so odr_violation2.so 2>$@; \
+	@echo $(CXXLINK_S) -Wl,--detect-odr-violations -o debug_msg_so debug_msg.so odr_violation1.so odr_violation2.so "2>$@"
+	@if $(CXXLINK_S) -Wl,--detect-odr-violations -o debug_msg_so debug_msg.so odr_violation1.so odr_violation2.so 2>$@; \
 	then \
 	  echo 1>&2 "Link of debug_msg_so should have failed"; \
 	  rm -f $@; \
@@ -1569,14 +1572,14 @@ debug_msg_so.err: debug_msg.so odr_violation1.so odr_violation2.so gcctestdir/ld
 check_DATA += debug_msg_ndebug.err
 MOSTLYCLEANFILES += debug_msg_ndebug.err
 debug_msg_ndebug.so: debug_msg.cc gcctestdir/ld
-	$(CXXCOMPILE) -Bgcctestdir/ -O0 -g0 -shared -fPIC -w -o $@ $(srcdir)/debug_msg.cc
+	$(CXXCOMPILE) -O0 -g0 -shared -fPIC -w -o $@ $(srcdir)/debug_msg.cc
 odr_violation1_ndebug.so: odr_violation1.cc gcctestdir/ld
-	$(CXXCOMPILE) -Bgcctestdir/ -O0 -g0 -shared -fPIC -w -o $@ $(srcdir)/odr_violation1.cc
+	$(CXXCOMPILE) -O0 -g0 -shared -fPIC -w -o $@ $(srcdir)/odr_violation1.cc
 odr_violation2_ndebug.so: odr_violation2.cc gcctestdir/ld
-	$(CXXCOMPILE) -Bgcctestdir/ -O2 -g0 -shared -fPIC -w -o $@ $(srcdir)/odr_violation2.cc
+	$(CXXCOMPILE) -O2 -g0 -shared -fPIC -w -o $@ $(srcdir)/odr_violation2.cc
 debug_msg_ndebug.err: debug_msg_ndebug.so odr_violation1_ndebug.so odr_violation2_ndebug.so gcctestdir/ld
-	@echo $(CXXLINK_S) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_ndebug debug_msg_ndebug.so odr_violation1_ndebug.so odr_violation2_ndebug.so -shared-libgcc -Bdynamic -lstdc++ "2>$@"
-	@if $(CXXLINK_S) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_ndebug debug_msg_ndebug.so odr_violation1_ndebug.so odr_violation2_ndebug.so -shared-libgcc -Bdynamic -lstdc++ 2>$@; \
+	@echo $(CXXLINK_S) -Wl,--detect-odr-violations -o debug_msg_ndebug debug_msg_ndebug.so odr_violation1_ndebug.so odr_violation2_ndebug.so -shared-libgcc -Bdynamic -lstdc++ "2>$@"
+	@if $(CXXLINK_S) -Wl,--detect-odr-violations -o debug_msg_ndebug debug_msg_ndebug.so odr_violation1_ndebug.so odr_violation2_ndebug.so -shared-libgcc -Bdynamic -lstdc++ 2>$@; \
 	then \
 	  echo 1>&2 "Link of debug_msg_ndebug should have failed"; \
 	  rm -f $@; \
@@ -1591,10 +1594,10 @@ MOSTLYCLEANFILES += undef_symbol.err
 undef_symbol.o: undef_symbol.cc
 	$(CXXCOMPILE) -O0 -g -c -fPIC $<
 undef_symbol.so: undef_symbol.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared undef_symbol.o
+	$(CXXLINK) -shared undef_symbol.o
 undef_symbol.err: undef_symbol_main.o undef_symbol.so gcctestdir/ld
-	@echo $(CXXLINK) -Bgcctestdir/ -o undef_symbol_test undef_symbol_main.o undef_symbol.so "2>$@"
-	@if $(CXXLINK) -Bgcctestdir/ -o undef_symbol_test undef_symbol_main.o undef_symbol.so 2>$@; \
+	@echo $(CXXLINK) -o undef_symbol_test undef_symbol_main.o undef_symbol.so "2>$@"
+	@if $(CXXLINK) -o undef_symbol_test undef_symbol_main.o undef_symbol.so 2>$@; \
 	then \
 	  echo 1>&2 "Link of undef_symbol_test should have failed"; \
 	  rm -f $@; \
@@ -1605,7 +1608,7 @@ undef_symbol.err: undef_symbol_main.o undef_symbol.so gcctestdir/ld
 # Test -o when emitting to a special file (such as something in /dev).
 check_PROGRAMS += flagstest_o_specialfile
 flagstest_o_specialfile: flagstest_debug.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -o /dev/stdout $< 2>&1 | cat > $@
+	$(CXXLINK) -o /dev/stdout $< 2>&1 | cat > $@
 	chmod a+x $@
 	test -s $@
 
@@ -1613,7 +1616,7 @@ flagstest_o_specialfile: flagstest_debug.o gcctestdir/ld
 check_PROGRAMS += flagstest_compress_debug_sections_none
 check_DATA += flagstest_compress_debug_sections_none.stdout
 flagstest_compress_debug_sections_none: flagstest_debug.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -o $@ $< -Wl,--compress-debug-sections=none
+	$(CXXLINK) -o $@ $< -Wl,--compress-debug-sections=none
 	test -s $@
 
 # Dump DWARF debug sections.
@@ -1628,13 +1631,13 @@ check_DATA += flagstest_compress_debug_sections.stdout \
 MOSTLYCLEANFILES += flagstest_compress_debug_sections.check \
 		    flagstest_compress_debug_sections.cmp
 flagstest_compress_debug_sections: flagstest_debug.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -o $@ $< -Wl,--compress-debug-sections=zlib
+	$(CXXLINK) -o $@ $< -Wl,--compress-debug-sections=zlib
 	test -s $@
 
 # Test --compress-debug-sections with --build-id=tree.
 check_PROGRAMS += flagstest_compress_debug_sections_and_build_id_tree
 flagstest_compress_debug_sections_and_build_id_tree: flagstest_debug.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -o $@ $< -Wl,--compress-debug-sections=zlib \
+	$(CXXLINK) -o $@ $< -Wl,--compress-debug-sections=zlib \
 		-Wl,--build-id=tree \
 		-Wl,--build-id-chunk-size-for-treehash=4096 \
 		-Wl,--build-id-min-file-size-for-treehash=0
@@ -1664,7 +1667,7 @@ check_DATA += flagstest_compress_debug_sections_gnu.stdout \
 MOSTLYCLEANFILES += flagstest_compress_debug_sections_gnu.check \
 		    flagstest_compress_debug_sections_gnu.cmp
 flagstest_compress_debug_sections_gnu: flagstest_debug.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -o $@ $< -Wl,--compress-debug-sections=zlib-gnu
+	$(CXXLINK) -o $@ $< -Wl,--compress-debug-sections=zlib-gnu
 	test -s $@
 
 # Dump compressed DWARF debug sections.
@@ -1691,7 +1694,7 @@ check_DATA += flagstest_compress_debug_sections_gabi.stdout \
 MOSTLYCLEANFILES += flagstest_compress_debug_sections_gabi.cmp \
 		    flagstest_compress_debug_sections_gabi.check
 flagstest_compress_debug_sections_gabi: flagstest_debug.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -o $@ $< -Wl,--compress-debug-sections=zlib-gabi
+	$(CXXLINK) -o $@ $< -Wl,--compress-debug-sections=zlib-gabi
 	test -s $@
 
 # Dump compressed DWARF debug sections.
@@ -1716,7 +1719,7 @@ flagstest_compress_debug_sections_gabi.cmp: flagstest_compress_debug_sections_ga
 check_PROGRAMS += flagstest_o_specialfile_and_compress_debug_sections
 flagstest_o_specialfile_and_compress_debug_sections: flagstest_debug.o \
 		gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -o /dev/stdout $< -Wl,--compress-debug-sections=zlib 2>&1 | cat > $@
+	$(CXXLINK) -o /dev/stdout $< -Wl,--compress-debug-sections=zlib 2>&1 | cat > $@
 	chmod a+x $@
 	test -s $@
 
@@ -1734,12 +1737,12 @@ pr18689b.o: pr18689a.o ../ld-new
 	../ld-new -r -o $@ $<
 
 pr18689.o: pr18689.c gcctestdir/as
-	$(COMPILE) -Bgcctestdir/ -ggdb3 -g -Wa,--compress-debug-sections=zlib-gabi -c -w -o $@ $(srcdir)/pr18689.c
+	$(COMPILE) -ggdb3 -g -Wa,--compress-debug-sections=zlib-gabi -c -w -o $@ $(srcdir)/pr18689.c
 
 # Test -TText and -Tdata.
 check_PROGRAMS += flagstest_o_ttext_1
 flagstest_o_ttext_1: flagstest_debug.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -o $@ $< -Wl,-Ttext,0x400000 -Wl,-Tdata,0x800000
+	$(CXXLINK) -o $@ $< -Wl,-Ttext,0x400000 -Wl,-Tdata,0x800000
 
 # This version won't be runnable, because there is no way to put the
 # PT_PHDR segment at file offset 0.  We just make sure that we can
@@ -1747,20 +1750,20 @@ flagstest_o_ttext_1: flagstest_debug.o gcctestdir/ld
 check_DATA += flagstest_o_ttext_2
 MOSTLYCLEANFILES += flagstest_o_ttext_2
 flagstest_o_ttext_2: flagstest_debug.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -o $@ $< -Wl,-Ttext,0x400010 -Wl,-Tdata,0x800010
+	$(CXXLINK) -o $@ $< -Wl,-Ttext,0x400010 -Wl,-Tdata,0x800010
 
 # Test symbol versioning.
 check_PROGRAMS += ver_test
 ver_test_SOURCES = ver_test_main.cc
 ver_test_DEPENDENCIES = gcctestdir/ld ver_test_1.so ver_test_2.so ver_test_4.so
-ver_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+ver_test_LDFLAGS = -Wl,-R,.
 ver_test_LDADD = ver_test_1.so ver_test_2.so ver_test_4.so
 ver_test_1.so: ver_test_1.o ver_test_2.so ver_test_3.o ver_test_4.so gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared ver_test_1.o ver_test_2.so ver_test_3.o ver_test_4.so
+	$(CXXLINK) -shared ver_test_1.o ver_test_2.so ver_test_3.o ver_test_4.so
 ver_test_2.so: ver_test_2.o $(srcdir)/ver_test_2.script ver_test_4.so gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared -Wl,--version-script,$(srcdir)/ver_test_2.script -Wl,-R,. ver_test_2.o ver_test_4.so
+	$(CXXLINK) -shared -Wl,--version-script,$(srcdir)/ver_test_2.script -Wl,-R,. ver_test_2.o ver_test_4.so
 ver_test_4.so: ver_test_4.o $(srcdir)/ver_test_4.script gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared -Wl,--version-script,$(srcdir)/ver_test_4.script ver_test_4.o
+	$(CXXLINK) -shared -Wl,--version-script,$(srcdir)/ver_test_4.script ver_test_4.o
 ver_test_1.o: ver_test_1.cc
 	$(CXXCOMPILE) -c -fpic -o $@ $<
 ver_test_2.o: ver_test_2.cc
@@ -1778,7 +1781,7 @@ ver_test_1.syms: ver_test_1.so
 check_PROGRAMS += ver_test_2
 ver_test_2_SOURCES = ver_test_main_2.cc
 ver_test_2_DEPENDENCIES = gcctestdir/ld ver_test_4.so ver_test_2.so
-ver_test_2_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+ver_test_2_LDFLAGS = -Wl,-R,.
 ver_test_2_LDADD = ver_test_4.so ver_test_2.so
 
 check_SCRIPTS += ver_test_2.sh
@@ -1792,7 +1795,7 @@ ver_test_4.syms: ver_test_4.so
 	$(TEST_READELF) -s $< >$@ 2>/dev/null
 
 ver_test_5.so: ver_test_5.o $(srcdir)/ver_test_5.script ver_test_4.so gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared -Wl,--version-script,$(srcdir)/ver_test_5.script ver_test_5.o ver_test_4.so
+	$(CXXLINK) -shared -Wl,--version-script,$(srcdir)/ver_test_5.script ver_test_5.o ver_test_4.so
 ver_test_5.o: ver_test_5.cc
 	$(CXXCOMPILE) -c -fpic -o $@ $<
 check_SCRIPTS += ver_test_5.sh
@@ -1803,11 +1806,11 @@ ver_test_5.syms: ver_test_5.so
 check_PROGRAMS += ver_test_6
 ver_test_6_SOURCES = ver_test_6.c
 ver_test_6_DEPENDENCIES = gcctestdir/ld ver_test_2.so
-ver_test_6_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+ver_test_6_LDFLAGS = -Wl,-R,.
 ver_test_6_LDADD = ver_test_2.so
 
 ver_test_7.so: ver_test_4.o $(srcdir)/ver_test_4.script ver_test_7.o gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared -Wl,--version-script,$(srcdir)/ver_test_4.script ver_test_4.o ver_test_7.o
+	$(CXXLINK) -shared -Wl,--version-script,$(srcdir)/ver_test_4.script ver_test_4.o ver_test_7.o
 ver_test_7.o: ver_test_7.cc
 	$(CXXCOMPILE) -c -fpic -o $@ $<
 check_SCRIPTS += ver_test_7.sh
@@ -1818,12 +1821,12 @@ ver_test_7.syms: ver_test_7.so
 check_PROGRAMS += ver_test_8
 ver_test_8_SOURCES = two_file_test_main.cc
 ver_test_8_DEPENDENCIES = gcctestdir/ld ver_test_8_1.so ver_test_8_2.so
-ver_test_8_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+ver_test_8_LDFLAGS = -Wl,-R,.
 ver_test_8_LDADD = ver_test_8_1.so ver_test_8_2.so
 ver_test_8_1.so: two_file_test_1_pic.o two_file_test_1b_pic.o ver_test_8_2.so gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared two_file_test_1_pic.o two_file_test_1b_pic.o ver_test_8_2.so
+	$(CXXLINK) -shared two_file_test_1_pic.o two_file_test_1b_pic.o ver_test_8_2.so
 ver_test_8_2.so: two_file_test_2_pic.o $(srcdir)/ver_test_8.script gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared -Wl,--version-script,$(srcdir)/ver_test_8.script two_file_test_2_pic.o
+	$(CXXLINK) -shared -Wl,--version-script,$(srcdir)/ver_test_8.script two_file_test_2_pic.o
 
 check_SCRIPTS += ver_test_8.sh
 check_DATA += ver_test_8_2.so.syms
@@ -1833,10 +1836,10 @@ ver_test_8_2.so.syms: ver_test_8_2.so
 check_PROGRAMS += ver_test_9
 ver_test_9_SOURCES = ver_test_main.cc
 ver_test_9_DEPENDENCIES = gcctestdir/ld ver_test_9.so
-ver_test_9_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+ver_test_9_LDFLAGS = -Wl,-R,.
 ver_test_9_LDADD = ver_test_9.so
 ver_test_9.so: ver_test_9.o ver_test_4.so ver_test_5.so gcctestdir/ld
-	$(CXXLINK) -Bgcctestdir/ -shared -Wl,-R,. ver_test_9.o ver_test_5.so ver_test_4.so
+	$(CXXLINK) -shared -Wl,-R,. ver_test_9.o ver_test_5.so ver_test_4.so
 ver_test_9.o: ver_test_9.cc
 	$(CXXCOMPILE) -c -fpic -o $@ $<
 
@@ -1845,13 +1848,13 @@ check_DATA += ver_test_10.syms
 ver_test_10.syms: ver_test_10.so
 	$(TEST_READELF) -s $< >$@ 2>/dev/null
 ver_test_10.so: gcctestdir/ld ver_test_2.o ver_test_10.script
-	$(CXXLINK) -Bgcctestdir/ -shared -Wl,--version-script,$(srcdir)/ver_test_10.script ver_test_2.o
+	$(CXXLINK) -shared -Wl,--version-script,$(srcdir)/ver_test_10.script ver_test_2.o
 
 check_PROGRAMS += ver_test_11
 MOSTLYCLEANFILES += ver_test_11.a
 ver_test_11_SOURCES = ver_test_main_2.cc
 ver_test_11_DEPENDENCIES = gcctestdir/ld ver_test_11.a
-ver_test_11_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+ver_test_11_LDFLAGS = -Wl,-R,.
 ver_test_11_LDADD = ver_test_11.a
 ver_test_11.a: ver_test_1.o ver_test_2.o ver_test_4.o
 	$(TEST_AR) rc $@ $^
@@ -1859,7 +1862,7 @@ ver_test_11.a: ver_test_1.o ver_test_2.o ver_test_4.o
 check_PROGRAMS += ver_test_12
 ver_test_12_SOURCES = ver_test_main_2.cc
 ver_test_12_DEPENDENCIES = gcctestdir/ld ver_test_12.o
-ver_test_12_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+ver_test_12_LDFLAGS = -Wl,-R,.
 ver_test_12_LDADD = ver_test_12.o
 ver_test_12.o: gcctestdir/ld ver_test_1.o ver_test_2.o ver_test_4.o
 	gcctestdir/ld -r -o $@ ver_test_1.o ver_test_2.o ver_test_4.o
@@ -1869,7 +1872,7 @@ check_DATA += ver_test_13.syms
 ver_test_13.syms: ver_test_13.so
 	$(TEST_READELF) -s $< >$@ 2>/dev/null
 ver_test_13.so: gcctestdir/ld ver_test_13.o ver_test_13.script
-	$(LINK) -Bgcctestdir/ -shared -Wl,--version-script,$(srcdir)/ver_test_13.script ver_test_13.o
+	$(LINK) -shared -Wl,--version-script,$(srcdir)/ver_test_13.script ver_test_13.o
 ver_test_13.o: ver_test_13.c
 	$(COMPILE) -c -fpic -o $@ $<
 
@@ -1879,7 +1882,7 @@ MOSTLYCLEANFILES += ver_test_14
 ver_test_14.syms: ver_test_14
 	$(TEST_OBJDUMP) -T $< | $(TEST_CXXFILT) >$@
 ver_test_14: gcctestdir/ld ver_test_main.o ver_test_1.so ver_test_2.so ver_test_4.so ver_test_14.script
-	$(CXXLINK) -Bgcctestdir/ -Wl,--version-script,$(srcdir)/ver_test_14.script -Wl,-E -Wl,-R,. ver_test_main.o ver_test_1.so ver_test_2.so ver_test_4.so
+	$(CXXLINK) -Wl,--version-script,$(srcdir)/ver_test_14.script -Wl,-E -Wl,-R,. ver_test_main.o ver_test_1.so ver_test_2.so ver_test_4.so
 
 check_SCRIPTS += ver_test_pr23409.sh
 check_DATA += ver_test_pr23409.syms
@@ -1911,11 +1914,11 @@ check_PROGRAMS += protected_1
 protected_1_SOURCES = \
 	protected_main_1.cc protected_main_2.cc protected_main_3.cc
 protected_1_DEPENDENCIES = gcctestdir/ld protected_1.so
-protected_1_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+protected_1_LDFLAGS = -Wl,-R,.
 protected_1_LDADD = protected_1.so
 
 protected_1.so: gcctestdir/ld protected_1_pic.o protected_2_pic.o protected_3_pic.o
-	$(CXXLINK) -Bgcctestdir/ -shared protected_1_pic.o protected_2_pic.o protected_3_pic.o
+	$(CXXLINK) -shared protected_1_pic.o protected_2_pic.o protected_3_pic.o
 protected_1_pic.o: protected_1.cc
 	$(CXXCOMPILE) -c -fpic -o $@ $<
 protected_2_pic.o: protected_2.cc
@@ -1926,7 +1929,7 @@ protected_3_pic.o: protected_3.cc
 check_PROGRAMS += protected_2
 protected_2_SOURCES = protected_main_1.cc protected_3.cc
 protected_2_DEPENDENCIES = gcctestdir/ld protected_1.so
-protected_2_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+protected_2_LDFLAGS = -Wl,-R,.
 protected_2_LDADD = protected_1.so
 
 check_DATA += protected_3.err
@@ -1934,8 +1937,8 @@ MOSTLYCLEANFILES += protected_3.err
 protected_4_pic.o: protected_4.cc
 	$(CXXCOMPILE) -c -fpic -o $@ $<
 protected_3.err: protected_4_pic.o gcctestdir/ld
-	@echo $(CXXLINK) -Bgcctestdir/ -shared -o protected_4.so protected_4_pic.o "2>$@"
-	@if $(CXXLINK) -Bgcctestdir/ -shared -o protected_4.so protected_4_pic.o 2>$@; then \
+	@echo $(CXXLINK) -shared -o protected_4.so protected_4_pic.o "2>$@"
+	@if $(CXXLINK) -shared -o protected_4.so protected_4_pic.o 2>$@; then \
 	  echo 1>&2 "Link of protected_4.so should have failed"; \
 	  rm -f $@; \
 	  exit 1; \
@@ -1946,10 +1949,10 @@ check_SCRIPTS += relro_test.sh
 check_DATA += relro_test.stdout
 relro_test_SOURCES = relro_test_main.cc
 relro_test_DEPENDENCIES = gcctestdir/ld relro_test.so
-relro_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+relro_test_LDFLAGS = -Wl,-R,.
 relro_test_LDADD = relro_test.so
 relro_test.so: gcctestdir/ld relro_test_pic.o
-	$(CXXLINK) -Bgcctestdir/ -shared -Wl,-z,relro relro_test_pic.o
+	$(CXXLINK) -shared -Wl,-z,relro relro_test_pic.o
 relro_test_pic.o: relro_test.cc
 	$(CXXCOMPILE) -c -fpic -o $@ $<
 relro_test.stdout: relro_test.so
@@ -1958,15 +1961,15 @@ relro_test.stdout: relro_test.so
 check_PROGRAMS += relro_now_test
 relro_now_test_SOURCES = relro_test_main.cc
 relro_now_test_DEPENDENCIES = gcctestdir/ld relro_now_test.so
-relro_now_test_LDFLAGS = -Bgcctestdir -Wl,-R,. -Wl,-z,relro -Wl,-z,now
+relro_now_test_LDFLAGS = -Wl,-R,. -Wl,-z,relro -Wl,-z,now
 relro_now_test_LDADD = relro_now_test.so
 relro_now_test.so: gcctestdir/ld relro_test_pic.o
-	$(CXXLINK) -Bgcctestdir/ -shared -Wl,-z,relro -Wl,-z,now relro_test_pic.o
+	$(CXXLINK) -shared -Wl,-z,relro -Wl,-z,now relro_test_pic.o
 
 check_PROGRAMS += relro_strip_test
 relro_strip_test_SOURCES = relro_test_main.cc
 relro_strip_test_DEPENDENCIES = gcctestdir/ld relro_strip_test.so
-relro_strip_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+relro_strip_test_LDFLAGS = -Wl,-R,.
 relro_strip_test_LDADD = relro_strip_test.so
 relro_strip_test.so: relro_test.so
 	$(TEST_STRIP) -o $@ $<
@@ -1974,27 +1977,27 @@ relro_strip_test.so: relro_test.so
 check_PROGRAMS += relro_script_test
 relro_script_test_SOURCES = relro_test_main.cc
 relro_script_test_DEPENDENCIES = gcctestdir/ld relro_script_test.so
-relro_script_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
+relro_script_test_LDFLAGS = -Wl,-R,.
 relro_script_test_LDADD = relro_script_test.so
 relro_script_test.so: gcctestdir/ld relro_script_test.t relro_test_pic.o
-	$(CXXLINK) -Bgcctestdir/ -shared -Wl,-z,relro -Wl,-T,$(srcdir)/relro_script_test.t relro_test_pic.o
+	$(CXXLINK) -shared -Wl,-z,relro -Wl,-T,$(srcdir)/relro_script_test.t relro_test_pic.o
 
 check_PROGRAMS += script_test_1
 script_test_1_SOURCES = script_test_1a.cc script_test_1b.cc
 script_test_1_DEPENDENCIES = gcctestdir/ld script_test_1.t
-script_test_1_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -Wl,-T,$(srcdir)/script_test_1.t
+script_test_1_LDFLAGS = -Wl,-R,. -Wl,-T,$(srcdir)/script_test_1.t
 script_test_1_LDADD =
 
 check_PROGRAMS += script_test_2
 script_test_2_SOURCES = script_test_2.cc script_test_2a.cc script_test_2b.cc
 script_test_2_DEPENDENCIES = gcctestdir/ld script_test_2[...]

[diff truncated at 100000 bytes]


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]