https://gcc.gnu.org/g:12c95fc1adf7f64d4cffa1274560339c90e8dbfb
commit r16-7184-g12c95fc1adf7f64d4cffa1274560339c90e8dbfb Author: Jakub Jelinek <[email protected]> Date: Fri Jan 30 11:43:49 2026 +0100 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 <[email protected]> * 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: --- libatomic/Makefile.am | 16 ++++++++-------- libatomic/Makefile.in | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am index 4fbd5ad4b771..459b883084fe 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 552ae4fb72c6..39299cb0fc11 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)
