From: Jakub Jelinek Date: Fri, 30 Jan 2026 10:43:49 +0000 (+0100) Subject: libatomic: Don't install libatomic_asneeded.{so,a} if corresponding libatomic.{so... X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=12c95fc1adf7f64d4cffa1274560339c90e8dbfb;p=thirdparty%2Fgcc.git libatomic: Don't install libatomic_asneeded.{so,a} if corresponding libatomic.{so,a} wasn't installed Filip complained on IRC that libatomic_asneeded.a is installed as stale symlink in --disable-static build. The following patch makes sure to install the libatomic_asneeded.{so,a} script and/or symlink only if the corresponding libatomic.{so,a} has been installed. 2026-01-30 Jakub Jelinek * Makefile.am (all-local, install-asneeded): Only create libatomic_asneeded.so script if libatomic.so exist, only create libatomic_asneeded.a symlink if libatomic.a exist. * Makefile.in: Regenerate. --- diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am index 4fbd5ad4b77..459b883084f 100644 --- a/libatomic/Makefile.am +++ b/libatomic/Makefile.am @@ -185,12 +185,12 @@ all-local: libatomic.la $(LIBTOOL) --mode=install $(INSTALL_DATA) libatomic.la $(gcc_objdir)$(MULTISUBDIR)/ if LIBAT_BUILD_ASNEEDED_SOLINK cd $(gcc_objdir)$(MULTISUBDIR) || exit 1; \ - (echo "/* GNU ld script"; \ + if test -f libatomic.so; then (echo "/* GNU ld script"; \ echo " Add DT_NEEDED entry for -latomic only if needed. */"; \ echo "INPUT ( AS_NEEDED ( -latomic ) )" \ - ) > libatomic_asneeded.so; \ - rm -f libatomic_asneeded.a; \ - $(LN_S) libatomic.a libatomic_asneeded.a + ) > libatomic_asneeded.so; fi; \ + if test -f libatomic.a; then rm -f libatomic_asneeded.a; \ + $(LN_S) libatomic.a libatomic_asneeded.a; fi endif rm $(gcc_objdir)$(MULTISUBDIR)/libatomic.la @@ -200,12 +200,12 @@ install-data-am: install-asneeded install-asneeded: install-toolexeclibLTLIBRARIES $(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)" || exit 1; \ cd "$(DESTDIR)$(toolexeclibdir)" || exit 1; \ - (echo "/* GNU ld script"; \ + if test -f libatomic.so; then (echo "/* GNU ld script"; \ echo " Add DT_NEEDED entry for -latomic only if needed. */"; \ echo "INPUT ( AS_NEEDED ( -latomic ) )" \ - ) > libatomic_asneeded.so; \ - rm -f libatomic_asneeded.a; \ - $(LN_S) libatomic.a libatomic_asneeded.a + ) > libatomic_asneeded.so; fi; \ + if test -f libatomic.a; then rm -f libatomic_asneeded.a; \ + $(LN_S) libatomic.a libatomic_asneeded.a; fi endif # target overrides diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in index 552ae4fb72c..39299cb0fc1 100644 --- a/libatomic/Makefile.in +++ b/libatomic/Makefile.in @@ -932,12 +932,12 @@ all-multi: $(libatomic_la_LIBADD) all-local: libatomic.la $(LIBTOOL) --mode=install $(INSTALL_DATA) libatomic.la $(gcc_objdir)$(MULTISUBDIR)/ @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@ cd $(gcc_objdir)$(MULTISUBDIR) || exit 1; \ -@LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@ (echo "/* GNU ld script"; \ +@LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@ if test -f libatomic.so; then (echo "/* GNU ld script"; \ @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@ echo " Add DT_NEEDED entry for -latomic only if needed. */"; \ @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@ echo "INPUT ( AS_NEEDED ( -latomic ) )" \ -@LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@ ) > libatomic_asneeded.so; \ -@LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@ rm -f libatomic_asneeded.a; \ -@LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@ $(LN_S) libatomic.a libatomic_asneeded.a +@LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@ ) > libatomic_asneeded.so; fi; \ +@LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@ if test -f libatomic.a; then rm -f libatomic_asneeded.a; \ +@LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@ $(LN_S) libatomic.a libatomic_asneeded.a; fi rm $(gcc_objdir)$(MULTISUBDIR)/libatomic.la @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@install-data-am: install-asneeded @@ -945,12 +945,12 @@ all-local: libatomic.la @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@install-asneeded: install-toolexeclibLTLIBRARIES @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@ $(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)" || exit 1; \ @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@ cd "$(DESTDIR)$(toolexeclibdir)" || exit 1; \ -@LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@ (echo "/* GNU ld script"; \ +@LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@ if test -f libatomic.so; then (echo "/* GNU ld script"; \ @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@ echo " Add DT_NEEDED entry for -latomic only if needed. */"; \ @LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@ echo "INPUT ( AS_NEEDED ( -latomic ) )" \ -@LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@ ) > libatomic_asneeded.so; \ -@LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@ rm -f libatomic_asneeded.a; \ -@LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@ $(LN_S) libatomic.a libatomic_asneeded.a +@LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@ ) > libatomic_asneeded.so; fi; \ +@LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@ if test -f libatomic.a; then rm -f libatomic_asneeded.a; \ +@LIBAT_BUILD_ASNEEDED_SOLINK_TRUE@ $(LN_S) libatomic.a libatomic_asneeded.a; fi # target overrides -include $(tmake_file)