X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gold%2FMakefile.am;h=2e406716f29a46df5a00882b1dd7005ac327e866;hb=f5a0f5b503c43ed3e146bc0d3eca37784892b47e;hp=fd0a3591855f7b5942c1e9dbcc6033615cff669c;hpb=396ce9988361a812ec620ac392839dbb9594db62;p=binutils-gdb.git diff --git a/gold/Makefile.am b/gold/Makefile.am index fd0a3591855..2e406716f29 100644 --- a/gold/Makefile.am +++ b/gold/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to generate Makefile.in # -# Copyright (C) 2006-2018 Free Software Foundation, Inc. +# Copyright (C) 2006-2022 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -243,10 +243,6 @@ install-exec-local: ld-new$(EXEEXT) fi; \ fi -# We want install to imply install-info as per GNU standards, despite -# the cygnus option. -install-data-local: install-info - POTFILES= $(CCFILES) $(HFILES) $(TARGETSOURCES) po/POTFILES.in: @MAINT@ Makefile @@ -260,57 +256,76 @@ 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 $@ +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 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 $@ +# 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 @@ -327,30 +342,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