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)

Reply via email to