PR 33629 ldscripts symlink in .libs/ created too late
Alan Modra
amodra@gmail.com
Sat Jan 31 00:46:50 GMT 2026
* Makefile.am (check-DEJAGNU): Move creation of symlink..
(ld-new$(EXEEXT)): ..to here. New rule.
* Makefile.in: Regenerate.
diff --git a/ld/Makefile.am b/ld/Makefile.am
index c219662d2e3..52e03ed8ac7 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -658,13 +658,18 @@ ld_new_LDADD = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBCTF) \
# Dependency tracking for the generated emulation files.
EXTRA_ld_new_SOURCES += $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES)
+# The standard rule plus set up a symlink when --enable-shared for "make chcek"
+ld-new$(EXEEXT): $(ld_new_OBJECTS) $(ld_new_DEPENDENCIES) $(EXTRA_ld_new_DEPENDENCIES)
+ @rm -f ld-new$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(ld_new_OBJECTS) $(ld_new_LDADD) $(LIBS)
+ $(AM_V_at)cd .libs; test ! -e ld-new || test -e ldscripts || $(LN_S) ../ldscripts .
+
# This is the real libbfd.a and libctf.a created by libtool.
TESTBFDLIB = @TESTBFDLIB@
TESTCTFLIB = @TESTCTFLIB@
TESTSFRAMELIB = @TESTSFRAMELIB@
check-DEJAGNU: site.exp
- (cd .libs; test -e ldscripts || test ! -e ld-new || $(LN_S) ../ldscripts .)
srcroot=`cd $(srcdir) && pwd`; export srcroot; \
r=`pwd`; export r; \
LC_ALL=C; export LC_ALL; \
diff --git a/ld/Makefile.in b/ld/Makefile.in
index f1ba6af5269..331a56d652c 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -1257,10 +1257,6 @@ deffilep.h: deffilep.c
@if test ! -f $@; then rm -f deffilep.c; else :; fi
@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) deffilep.c; else :; fi
-ld-new$(EXEEXT): $(ld_new_OBJECTS) $(ld_new_DEPENDENCIES) $(EXTRA_ld_new_DEPENDENCIES)
- @rm -f ld-new$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ld_new_OBJECTS) $(ld_new_LDADD) $(LIBS)
-
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -2371,8 +2367,13 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS)
@AMDEP_TRUE@-include $(patsubst %.c,./$(DEPDIR)/%.Pc,$(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES))
+# The standard rule plus set up a symlink when --enable-shared for "make chcek"
+ld-new$(EXEEXT): $(ld_new_OBJECTS) $(ld_new_DEPENDENCIES) $(EXTRA_ld_new_DEPENDENCIES)
+ @rm -f ld-new$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(ld_new_OBJECTS) $(ld_new_LDADD) $(LIBS)
+ $(AM_V_at)cd .libs; test ! -e ld-new || test -e ldscripts || $(LN_S) ../ldscripts .
+
check-DEJAGNU: site.exp
- (cd .libs; test -e ldscripts || test ! -e ld-new || $(LN_S) ../ldscripts .)
srcroot=`cd $(srcdir) && pwd`; export srcroot; \
r=`pwd`; export r; \
LC_ALL=C; export LC_ALL; \
--
Alan Modra
More information about the Binutils
mailing list