Source: gcc-12 Version: 12_12-20220206-1 Severity: important Tags: patch User: debian-h...@lists.debian.org Usertags: hurd
Hi, gcc-12-12-20220206 in experimental FTBFS on hurd-i386 due to missing patches for gccgo, gnu.h and an yet unresolved bug in src/Makefile.in. Attached are patches needed for a successful build. This bug has been reported by Mathias and assigned upstream, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104290 but no patches are yet committed. debian_rules.patch.patch patches debian/rules.patch to include the two patches: gcc_config_gnu.h.diff fixing the split-stack problem when building gotools and libgo_go_net_unixsock_readmsg_cloexec.go.diff fixing the build of libgo. The last patch src_Makefile.in.patch, is for src/Makefile.in moving all-target-libgo: maybe-all-target-libbacktrace all-target-libgo: maybe-all-target-libatomic outside of the @unless gcc-bootstrap @endunless gcc-bootstrap pair. This patch is not part of the debian_rules.patch since I'm unsure if this a patch is needed for all architectures or GNU/Hurd only. BTW: Creating a new src/Makefile.in by (cd src; autogen Makefile.def) does still create a buggy Makefile.in. The reason of why some dependencies are within the @unless/@endunless pair is still unknown. configure{,.ac} has the following note: # Do not nest @if/@endif or @unless/@endunless pairs, because # configure will not warn you at all. Googling around did not help much, I've found no documentation of it's use and how to encounter it. Just a reflection: Matthias you are really doing a great job with the gcc releases: Kudos! Thanks!
--- a/debian/rules.patch 2022-01-26 11:49:06.000000000 +0100 +++ b/debian/rules.patch 2022-02-02 13:08:44.000000000 +0100 @@ -192,6 +192,8 @@ ifeq ($(DEB_TARGET_ARCH_OS),hurd) debian_patches += hurd-changes + debian_patches += gcc_config_gnu.h + debian_patches += libgo_go_net_unixsock_readmsg_cloexec.go endif debian_patches += gcc-ice-dump
--- a/src/gcc/config/gnu.h 2022-02-06 11:59:41.000000000 +0100 +++ b/src/gcc/config/gnu.h 2022-02-06 12:00:19.000000000 +0100 @@ -19,6 +19,9 @@ along with GCC. If not, see <http://www.gnu.org/licenses/>. */ +#define OPTION_GLIBC_P(opts) (DEFAULT_LIBC == LIBC_GLIBC) +#define OPTION_GLIBC OPTION_GLIBC_P (&global_options) + #undef GNU_USER_TARGET_OS_CPP_BUILTINS #define GNU_USER_TARGET_OS_CPP_BUILTINS() \ do { \
--- a/src/libgo/go/net/unixsock_readmsg_cloexec.go 2021-08-25 14:06:31.000000000 +0200 +++ b/src/libgo/go/net/unixsock_readmsg_cloexec.go 2022-02-01 16:10:01.000000000 +0100 @@ -3,7 +3,7 @@ // license that can be found in the LICENSE file. //go:build aix || darwin || freebsd || solaris -// +build aix darwin freebsd solaris +// +build aix darwin freebsd hurd solaris package net
--- a/src/Makefile.in 2022-02-08 23:25:36.000000000 +0100 +++ b/src/Makefile.in 2022-02-09 12:37:13.000000000 +0100 @@ -67372,6 +67372,8 @@ all-m4: maybe-all-build-texinfo configure-target-libgo: maybe-configure-target-libffi all-target-libgo: maybe-all-target-libffi +all-target-libgo: maybe-all-target-libbacktrace +all-target-libgo: maybe-all-target-libatomic configure-target-libphobos: maybe-configure-target-libbacktrace configure-stage1-target-libphobos: maybe-configure-stage1-target-libbacktrace configure-stage2-target-libphobos: maybe-configure-stage2-target-libbacktrace @@ -67541,8 +67543,6 @@ configure-target-fastjar: maybe-configure-target-zlib all-target-fastjar: maybe-all-target-zlib configure-target-libgo: maybe-all-target-libstdc++-v3 -all-target-libgo: maybe-all-target-libbacktrace -all-target-libgo: maybe-all-target-libatomic configure-target-libgm2: maybe-all-target-libstdc++-v3 all-target-libgm2: maybe-all-target-libatomic configure-target-liboffloadmic: maybe-configure-target-libgomp