Bug#1061370: gcc-14 ftbfs on armel
Control: tags -1 patch
On 2024-01-29 10:23, Emanuele Rocca wrote:
> Upstream proposed two patches though, the one I tried is:
>
> libatomic_la_LIBADD += $(addsuffix _8_2_.lo,$(SIZEOBJS))
> +libatomic_la_LIBADD += tas_1_2_.lo
The problem was not the patch, but the fact that it did not include an
updated Makefile.in. I updated it with the following command from within
src/libatomic:
AUTOM4TE=/usr/bin/autom4te2.69 autoreconf
And added both Makefile.am and Makefile.in to the patch, see attached
debdiff. With these changes, libat_test_and_set_1_i2 is not anymore
listed among the undefined symbols in the output of objdump -T, and
systemd builds fine.
I haven't tried to re-enable ada and gccgo, but they should hopefully
build again now too.
diff -Nru gcc-14-14-20240127/debian/changelog gcc-14-14-20240127/debian/changelog
--- gcc-14-14-20240127/debian/changelog 2024-01-27 09:51:04.000000000 +0100
+++ gcc-14-14-20240127/debian/changelog 2024-01-29 19:55:54.000000000 +0100
@@ -1,3 +1,9 @@
+gcc-14 (14-20240127-1.1) unstable; urgency=medium
+
+ * Add upstream patch libatomic-armel.diff. Closes: #1061370.
+
+ -- Emanuele Rocca <ema@debian.org> Mon, 29 Jan 2024 19:55:54 +0100
+
gcc-14 (14-20240127-1) unstable; urgency=medium
* Snapshot, taken from the trunk 20240127.
diff -Nru gcc-14-14-20240127/debian/patches/libatomic-armel.diff gcc-14-14-20240127/debian/patches/libatomic-armel.diff
--- gcc-14-14-20240127/debian/patches/libatomic-armel.diff 1970-01-01 01:00:00.000000000 +0100
+++ gcc-14-14-20240127/debian/patches/libatomic-armel.diff 2024-01-29 19:55:54.000000000 +0100
@@ -0,0 +1,209 @@
+Index: gcc-14-14-20240127/src/libatomic/Makefile.am
+===================================================================
+--- gcc-14-14-20240127.orig/src/libatomic/Makefile.am
++++ gcc-14-14-20240127/src/libatomic/Makefile.am
+@@ -139,6 +139,7 @@ if ARCH_ARM_LINUX
+ IFUNC_OPTIONS = -march=armv7-a+fp -DHAVE_KERNEL64
+ libatomic_la_LIBADD += $(foreach s,$(SIZES),$(addsuffix _$(s)_1_.lo,$(SIZEOBJS)))
+ libatomic_la_LIBADD += $(addsuffix _8_2_.lo,$(SIZEOBJS))
++libatomic_la_LIBADD += tas_1_2_.lo
+ endif
+ if ARCH_I386
+ IFUNC_OPTIONS = -march=i586
+Index: gcc-14-14-20240127/src/libatomic/Makefile.in
+===================================================================
+--- gcc-14-14-20240127.orig/src/libatomic/Makefile.in
++++ gcc-14-14-20240127/src/libatomic/Makefile.in
+@@ -1,7 +1,7 @@
+-# Makefile.in generated by automake 1.15.1 from Makefile.am.
++# Makefile.in generated by automake 1.16.5 from Makefile.am.
+ # @configure_input@
+
+-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
++# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -95,7 +95,8 @@ target_triplet = @target@
+ @ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@ s,$(SIZES),$(addsuffix \
+ @ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@ _$(s)_1_.lo,$(SIZEOBJS))) \
+ @ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@ $(addsuffix \
+-@ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@ _8_2_.lo,$(SIZEOBJS))
++@ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@ _8_2_.lo,$(SIZEOBJS)) \
++@ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@ tas_1_2_.lo
+ @ARCH_I386_TRUE@@HAVE_IFUNC_TRUE@am__append_4 = $(addsuffix _8_1_.lo,$(SIZEOBJS))
+ @ARCH_X86_64_TRUE@@HAVE_IFUNC_TRUE@am__append_5 = $(addsuffix _16_1_.lo,$(SIZEOBJS)) \
+ @ARCH_X86_64_TRUE@@HAVE_IFUNC_TRUE@ $(addsuffix _16_2_.lo,$(SIZEOBJS))
+@@ -187,11 +188,16 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+ am__v_at_0 = @
+ am__v_at_1 =
+ depcomp = $(SHELL) $(top_srcdir)/../depcomp
+-am__depfiles_maybe = depfiles
++am__maybe_remake_depfiles = depfiles
++am__depfiles_remade = ./$(DEPDIR)/atomic_16.Plo ./$(DEPDIR)/fence.Plo \
++ ./$(DEPDIR)/fenv.Plo ./$(DEPDIR)/flag.Plo ./$(DEPDIR)/gcas.Plo \
++ ./$(DEPDIR)/gexch.Plo ./$(DEPDIR)/glfree.Plo \
++ ./$(DEPDIR)/gload.Plo ./$(DEPDIR)/gstore.Plo \
++ ./$(DEPDIR)/init.Plo ./$(DEPDIR)/lock.Plo
+ am__mv = mv -f
+ CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
+-LTCPPASCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
++LTCPPASCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CCASFLAGS) $(CCASFLAGS)
+@@ -240,8 +246,8 @@ am__recursive_targets = \
+ $(am__extra_recursive_targets)
+ AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ cscope
+-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
+- $(LISP)auto-config.h.in
++am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \
++ auto-config.h.in
+ # Read a list of newline-separated strings from the standard input,
+ # and print each of them once, without duplicates. Input order is
+ # *not* preserved.
+@@ -258,9 +264,6 @@ am__define_uniq_tagged_files = \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+-ETAGS = etags
+-CTAGS = ctags
+-CSCOPE = cscope
+ DIST_SUBDIRS = $(SUBDIRS)
+ ACLOCAL = @ACLOCAL@
+ AMTAR = @AMTAR@
+@@ -278,6 +281,8 @@ CCDEPMODE = @CCDEPMODE@
+ CFLAGS = @CFLAGS@
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
++CSCOPE = @CSCOPE@
++CTAGS = @CTAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
+@@ -287,6 +292,7 @@ ECHO_C = @ECHO_C@
+ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
++ETAGS = @ETAGS@
+ EXEEXT = @EXEEXT@
+ FGREP = @FGREP@
+ GREP = @GREP@
+@@ -490,8 +496,8 @@ Makefile: $(srcdir)/Makefile.in $(top_bu
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
++ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
+ esac;
+ $(top_srcdir)/../multilib.am $(am__empty):
+
+@@ -577,17 +583,23 @@ mostlyclean-compile:
+ distclean-compile:
+ -rm -f *.tab.c
+
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atomic_16.Plo@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fence.Plo@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fenv.Plo@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flag.Plo@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gcas.Plo@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gexch.Plo@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glfree.Plo@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gload.Plo@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstore.Plo@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init.Plo@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lock.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atomic_16.Plo@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fence.Plo@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fenv.Plo@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flag.Plo@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gcas.Plo@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gexch.Plo@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glfree.Plo@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gload.Plo@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstore.Plo@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init.Plo@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lock.Plo@am__quote@ # am--include-marker
++
++$(am__depfiles_remade):
++ @$(MKDIR_P) $(@D)
++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
++
++am--depfiles: $(am__depfiles_remade)
+
+ .S.o:
+ @am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@@ -791,7 +803,17 @@ clean-am: clean-generic clean-libtool cl
+
+ distclean: distclean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+- -rm -rf ./$(DEPDIR)
++ -rm -f ./$(DEPDIR)/atomic_16.Plo
++ -rm -f ./$(DEPDIR)/fence.Plo
++ -rm -f ./$(DEPDIR)/fenv.Plo
++ -rm -f ./$(DEPDIR)/flag.Plo
++ -rm -f ./$(DEPDIR)/gcas.Plo
++ -rm -f ./$(DEPDIR)/gexch.Plo
++ -rm -f ./$(DEPDIR)/glfree.Plo
++ -rm -f ./$(DEPDIR)/gload.Plo
++ -rm -f ./$(DEPDIR)/gstore.Plo
++ -rm -f ./$(DEPDIR)/init.Plo
++ -rm -f ./$(DEPDIR)/lock.Plo
+ -rm -f Makefile
+ distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-hdr distclean-libtool distclean-local distclean-tags
+@@ -839,7 +861,17 @@ installcheck-am:
+ maintainer-clean: maintainer-clean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+- -rm -rf ./$(DEPDIR)
++ -rm -f ./$(DEPDIR)/atomic_16.Plo
++ -rm -f ./$(DEPDIR)/fence.Plo
++ -rm -f ./$(DEPDIR)/fenv.Plo
++ -rm -f ./$(DEPDIR)/flag.Plo
++ -rm -f ./$(DEPDIR)/gcas.Plo
++ -rm -f ./$(DEPDIR)/gexch.Plo
++ -rm -f ./$(DEPDIR)/glfree.Plo
++ -rm -f ./$(DEPDIR)/gload.Plo
++ -rm -f ./$(DEPDIR)/gstore.Plo
++ -rm -f ./$(DEPDIR)/init.Plo
++ -rm -f ./$(DEPDIR)/lock.Plo
+ -rm -f Makefile
+ maintainer-clean-am: distclean-am maintainer-clean-generic \
+ maintainer-clean-local
+@@ -862,18 +894,19 @@ uninstall-am: uninstall-toolexeclibLTLIB
+ .MAKE: $(am__recursive_targets) all install-am install-strip
+
+ .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \
+- am--refresh check check-am clean clean-cscope clean-generic \
+- clean-libtool clean-local clean-noinstLTLIBRARIES \
+- clean-toolexeclibLTLIBRARIES cscope cscopelist-am ctags \
+- ctags-am distclean distclean-compile distclean-generic \
+- distclean-hdr distclean-libtool distclean-local distclean-tags \
+- dvi dvi-am html html-am info info-am install install-am \
+- install-data install-data-am install-dvi install-dvi-am \
+- install-exec install-exec-am install-exec-local install-html \
+- install-html-am install-info install-info-am install-man \
+- install-pdf install-pdf-am install-ps install-ps-am \
+- install-strip install-toolexeclibLTLIBRARIES installcheck \
+- installcheck-am installdirs installdirs-am maintainer-clean \
++ am--depfiles am--refresh check check-am clean clean-cscope \
++ clean-generic clean-libtool clean-local \
++ clean-noinstLTLIBRARIES clean-toolexeclibLTLIBRARIES cscope \
++ cscopelist-am ctags ctags-am distclean distclean-compile \
++ distclean-generic distclean-hdr distclean-libtool \
++ distclean-local distclean-tags dvi dvi-am html html-am info \
++ info-am install install-am install-data install-data-am \
++ install-dvi install-dvi-am install-exec install-exec-am \
++ install-exec-local install-html install-html-am install-info \
++ install-info-am install-man install-pdf install-pdf-am \
++ install-ps install-ps-am install-strip \
++ install-toolexeclibLTLIBRARIES installcheck installcheck-am \
++ installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic maintainer-clean-local mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ mostlyclean-local pdf pdf-am ps ps-am tags tags-am uninstall \
diff -Nru gcc-14-14-20240127/debian/rules.patch gcc-14-14-20240127/debian/rules.patch
--- gcc-14-14-20240127/debian/rules.patch 2024-01-26 12:31:20.000000000 +0100
+++ gcc-14-14-20240127/debian/rules.patch 2024-01-29 19:55:54.000000000 +0100
@@ -232,6 +232,7 @@
endif
debian_patches += go-testsuite
+debian_patches += libatomic-armel
# don't remove, this is regularly overwritten, see PR sanitizer/63958.
#debian_patches += libasan-sparc
Reply to: