]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libatomic: Don't install libatomic_asneeded.{so,a} if corresponding libatomic.{so...
authorJakub Jelinek <jakub@redhat.com>
Fri, 30 Jan 2026 10:43:49 +0000 (11:43 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 30 Jan 2026 10:43:49 +0000 (11:43 +0100)
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  <jakub@redhat.com>

* 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.

libatomic/Makefile.am
libatomic/Makefile.in

index 4fbd5ad4b7717354181e3ff0ef6f760025d4a430..459b883084fea7d0b8b3084b8390094b4f76554c 100644 (file)
@@ -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
index 552ae4fb72c6451bec980ba45053f70fdca657a8..39299cb0fc111495069cfcb4ed23a5d8a6473ee2 100644 (file)
@@ -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)