ld2_LINK = `echo $(CXXLD) | sed $(editcc2)`\
$(AM_CXXFLAGS) $(CXXFLAGS) $(ld2_LDFLAGS) $(LDFLAGS) -o $@
+TEST_READELF = $(top_builddir)/../binutils/readelf
+
+# Skip this for LTO build due to different build IDs.
bootstrap-test: ld2
rm -f $@
echo "#!/bin/sh" > $@
- echo "cmp ld1 ld2" >> $@
+ if $(TEST_READELF) -SW main.$(OBJEXT) | grep "gnu.lto" > /dev/null; then \
+ echo true >> $@; \
+ else \
+ echo "cmp ld1 ld2" >> $@; \
+ fi
chmod +x $@
libgold-1-r.o: gcctestdir1/ld libgold.a
ld2_r_LINK = `echo $(CXXLD) | sed $(editcc2r)`\
$(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@
+# Skip this for LTO build due to different build IDs.
bootstrap-test-r: ld2-r
rm -f $@
echo "#!/bin/sh" > $@
- echo "cmp ld1-r ld2-r" >> $@
+ if $(TEST_READELF) -SW main.$(OBJEXT) | grep "gnu.lto" > /dev/null; then \
+ echo true >> $@; \
+ else \
+ echo "cmp ld1-r ld2-r" >> $@; \
+ fi
chmod +x $@
check_PROGRAMS = ld1 ld2 ld1-r ld2-r
@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@TEST_READELF = $(top_builddir)/../binutils/readelf
@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 gcctestdir1/collect-ld
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_r_LDADD = libgold-1-r.o $(ldadd_var)
@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LN_S) $(abs_top_builddir)/ld1 $@
+# Skip this for LTO build due to different build IDs.
@GCC_TRUE@@NATIVE_LINKER_TRUE@bootstrap-test: ld2
@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@
@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo "#!/bin/sh" > $@
-@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo "cmp ld1 ld2" >> $@
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ if $(TEST_READELF) -SW main.$(OBJEXT) | grep "gnu.lto" > /dev/null; then \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo true >> $@; \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ else \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo "cmp ld1 ld2" >> $@; \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ fi
@GCC_TRUE@@NATIVE_LINKER_TRUE@ chmod +x $@
@GCC_TRUE@@NATIVE_LINKER_TRUE@libgold-1-r.o: gcctestdir1/ld libgold.a
@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
+# Skip this for LTO build due to different build IDs.
@GCC_TRUE@@NATIVE_LINKER_TRUE@bootstrap-test-r: ld2-r
@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@
@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo "#!/bin/sh" > $@
-@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo "cmp ld1-r ld2-r" >> $@
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ if $(TEST_READELF) -SW main.$(OBJEXT) | grep "gnu.lto" > /dev/null; then \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo true >> $@; \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ else \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo "cmp ld1-r ld2-r" >> $@; \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ fi
@GCC_TRUE@@NATIVE_LINKER_TRUE@ chmod +x $@
@GCC_TRUE@@NATIVE_LINKER_TRUE@gcctestdir3/ld gcctestdir3/collect-ld: ld-new