Bug#1005297: gcc-12-12-20220206: FTBFS on hurd-i386
Source: gcc-12
Version: 12_12-20220206-1
Severity: important
Tags: patch
User: debian-hurd@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
Reply to: