[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

gcc-13: hurd-amd64 support



Package: gcc-13
Version: 13.1.0-1
Severity: important
Tags: patch

Hello,

We're starting the hurd-amd64 port :)

Here is a patch to add support to the gcc package (here against the
master branch).

Samuel

-- System Information:
Debian Release: 12.0
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable-security'), (500, 'stable-debug'), (500, 'proposed-updates-debug'), (500, 'proposed-updates'), (500, 'oldstable-proposed-updates'), (500, 'oldoldstable'), (500, 'buildd-unstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental-debug'), (1, 'buildd-experimental'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, arm64

Kernel: Linux 6.2.0 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages gcc-13 depends on:
ii  binutils       2.40-2
ii  cpp-13         13.1.0-1
ii  gcc-13-base    13.1.0-1
ii  libc6          2.36-9
ii  libcc1-0       13.1.0-1
ii  libgcc-13-dev  13.1.0-1
ii  libgcc-s1      13.1.0-1
ii  libgmp10       2:6.2.1+dfsg1-1.1
ii  libisl23       0.25-1
ii  libmpc3        1.3.1-1
ii  libmpfr6       4.2.0-1
ii  libstdc++6     13.1.0-1
ii  libzstd1       1.5.4+dfsg2-5
ii  zlib1g         1:1.2.13.dfsg-1

Versions of packages gcc-13 recommends:
ii  libc6-dev  2.36-9

Versions of packages gcc-13 suggests:
pn  gcc-13-doc       <none>
pn  gcc-13-locales   <none>
pn  gcc-13-multilib  <none>

-- no debconf information

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.
diff --git a/debian/control b/debian/control
index 0555ad8..f131d68 100644
--- a/debian/control
+++ b/debian/control
@@ -5,7 +5,7 @@ Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
 Uploaders: Matthias Klose <doko@debian.org>
 Standards-Version: 4.6.2
 Build-Depends: debhelper (>= 9.20141010), dpkg-dev (>= 1.17.14), g++-multilib [amd64 i386 kfreebsd-amd64 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32] <!cross>, 
-  libc6.1-dev (>= 2.23-1~) [alpha ia64] | libc0.3-dev (>= 2.23-1~) [hurd-i386] | libc0.1-dev (>= 2.25) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= 2.23-1~), libc6-dev-amd64 [i386 x32], libc6-dev-sparc64 [sparc], libc6-dev-sparc [sparc64], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64 x32], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc-s1 [amd64 ppc64 kfreebsd-amd64 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el s390x sparc64 x32], libn32gcc-s1 [mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el], lib64gcc-s1 [i386 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el powerpc sparc s390 x32], libc6-dev-mips64 [mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el], libc6-dev-mipsn32 [mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el], libc6-dev-mips32 [mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el], libc6-dev-x32 [amd64 i386], libx32gcc-s1 [amd64 i386], libc6.1-dbg [alpha ia64] | libc0.3-dbg [hurd-i386] | libc0.1-dbg [kfreebsd-i386 kfreebsd-amd64] | libc6-dbg, 
+  libc6.1-dev (>= 2.23-1~) [alpha ia64] | libc0.3-dev (>= 2.23-1~) [hurd-amd64 hurd-i386] | libc0.1-dev (>= 2.25) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= 2.23-1~), libc6-dev-amd64 [i386 x32], libc6-dev-sparc64 [sparc], libc6-dev-sparc [sparc64], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64 x32], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc-s1 [amd64 ppc64 kfreebsd-amd64 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el s390x sparc64 x32], libn32gcc-s1 [mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el], lib64gcc-s1 [i386 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el powerpc sparc s390 x32], libc6-dev-mips64 [mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el], libc6-dev-mipsn32 [mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el], libc6-dev-mips32 [mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el], libc6-dev-x32 [amd64 i386], libx32gcc-s1 [amd64 i386], libc6.1-dbg [alpha ia64] | libc0.3-dbg [hurd-amd64 hurd-i386] | libc0.1-dbg [kfreebsd-i386 kfreebsd-amd64] | libc6-dbg, 
   kfreebsd-kernel-headers (>= 0.84) [kfreebsd-any], linux-libc-dev [m68k], 
   m4, libtool, autoconf2.69, 
   dwz, libunwind8-dev [ia64], libatomic-ops-dev [ia64], 
diff --git a/debian/rules.conf b/debian/rules.conf
index 78fb501..bdde0eb 100644
--- a/debian/rules.conf
+++ b/debian/rules.conf
@@ -110,7 +110,7 @@ define gen_no_archs
       $1_no_archs += !i386 !hurd-i386 !kfreebsd-i386
     endif
     ifneq (,$$(filter amd64,$$($1_no_cpus)))
-      $1_no_archs += !amd64 !kfreebsd-amd64
+      $1_no_archs += !amd64 !hurd-amd64 !kfreebsd-amd64
     endif
     ifneq (,$$(filter alpha,$$($1_no_cpus)))
       $1_no_archs += !alpha !hurd-alpha
@@ -358,12 +358,12 @@ LIBC_DEP := $(LIBC_DEP)$(LS)$(AQ)
 LIBC_DEV_DEP := $(LIBC_DEV_DEP)$(LS)$(AQ) (>= $(libc_dev_ver))
 
 ifneq (,$(filter $(build_type), build-native cross-build-native))
-  LIBC_DBG_DEP = libc6.1-dbg [alpha ia64] | libc0.3-dbg [hurd-i386] | libc0.1-dbg [kfreebsd-i386 kfreebsd-amd64] | libc6-dbg,
+  LIBC_DBG_DEP = libc6.1-dbg [alpha ia64] | libc0.3-dbg [hurd-amd64 hurd-i386] | libc0.1-dbg [kfreebsd-amd64 kfreebsd-i386] | libc6-dbg,
 endif
 
 # TODO: make this automatic, there must be a better way to define LIBC_DEP.
 ifneq ($(DEB_CROSS),yes)
-  LIBC_BUILD_DEP = libc6.1-dev (>= $(libc_dev_ver)) [alpha ia64] | libc0.3-dev (>= $(libc_dev_ver)) [hurd-i386] | libc0.1-dev (>= $(kfreebsd_libc_dev_ver)) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= $(libc_dev_ver))
+  LIBC_BUILD_DEP = libc6.1-dev (>= $(libc_dev_ver)) [alpha ia64] | libc0.3-dev (>= $(libc_dev_ver)) [hurd-amd64 hurd-i386] | libc0.1-dev (>= $(kfreebsd_libc_dev_ver)) [kfreebsd-amd64 kfreebsd-i386] | libc6-dev (>= $(libc_dev_ver))
   LIBC_BIARCH_BUILD_DEP = libc6-dev-amd64 [i386 x32], libc6-dev-sparc64 [sparc], libc6-dev-sparc [sparc64], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64 x32], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc-s1 [amd64 ppc64 kfreebsd-amd64 mipsn32 mipsn32el mips64 mips64el s390x sparc64 x32], libn32gcc-s1 [mips mipsel mips64 mips64el], lib64gcc-s1 [i386 mips mipsel mipsn32 mipsn32el powerpc sparc s390 x32], libc6-dev-mips64 [mips mipsel mipsn32 mipsn32el], libc6-dev-mipsn32 [mips mipsel mips64 mips64el], libc6-dev-mips32 [mipsn32 mipsn32el mips64 mips64el],
   ifeq (yes,$(MIPS_R6_ENABLED))
     LIBC_BIARCH_BUILD_DEP = libc6-dev-amd64 [i386 x32], libc6-dev-sparc64 [sparc], libc6-dev-sparc [sparc64], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64 x32], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc-s1 [amd64 ppc64 kfreebsd-amd64 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el s390x sparc64 x32], libn32gcc-s1 [mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el], lib64gcc-s1 [i386 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el powerpc sparc s390 x32], libc6-dev-mips64 [mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el], libc6-dev-mipsn32 [mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el], libc6-dev-mips32 [mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el],
diff --git a/debian/rules.defs b/debian/rules.defs
index 26e41e7..864d133 100644
--- a/debian/rules.defs
+++ b/debian/rules.defs
@@ -342,10 +342,10 @@ ifneq ($(trunk_build),yes)
   # FIXME: hppa has issues with parsing the jobs output.
   # FIXME: m68k and sh4 running on simulators, don't care ...
   # FIXME: buildds not powerful ebough: mips*
-  # FIXME: just let it build, takes too long: hurd-i386
+  # FIXME: just let it build, takes too long: hurd-amd64 hurd-i386
   # FIXME: not yet tried to build: alpha
   # FIXME: ia64, see https://gcc.gnu.org/PR98504
-  ifneq (,$(filter $(DEB_HOST_ARCH), alpha hppa ia64 m68k mips mipsel sh4 sparc64 hurd-i386))
+  ifneq (,$(filter $(DEB_HOST_ARCH), alpha hppa ia64 m68k mips mipsel sh4 sparc64 hurd-amd64 hurd-i386))
     with_lto_build :=
   endif
 
@@ -387,7 +387,7 @@ ifeq ($(build_type),build-native)
     no_usage_archs = i386
   else ifeq ($(derivative),Debian)
     no_usage_archs = alpha hppa ia64 m68k mipsel mips64el sh4 sparc64 x32 \
-	hurd-i386 kfreebsd-i386 kfreebsd-amd64
+	hurd-amd64 hurd-i386 kfreebsd-amd64 kfreebsd-i386
   endif
   ifneq (,$(filter $(DEB_HOST_ARCH),$(no_usage_archs)))
     usage_stats =
@@ -1177,7 +1177,7 @@ endif
 # libquadmath -------------------
 
 quadmath_targets = amd64 ia64 i386 x32 \
-		hurd-i386 kfreebsd-i386 kfreebsd-amd64 \
+		hurd-amd64 hurd-i386 kfreebsd-i386 kfreebsd-amd64 \
 		ppc64el
 # powerpc and ppc64 don't have power7 CPU defaults ...
 ifneq (,$(filter $(DEB_TARGET_ARCH), $(quadmath_targets)))
@@ -1267,7 +1267,7 @@ ifneq ($(with_base_only),yes)
     with_m2 := yes
   endif
 endif
-m2_no_archs = powerpc ppc64 sh4 kfreebsd-amd64 kfreebsd-i386 hurd-i386
+m2_no_archs = powerpc ppc64 sh4 kfreebsd-amd64 kfreebsd-i386 hurd-amd64 hurd-i386
 ifneq (,$(filter $(DEB_TARGET_ARCH),$(m2_no_archs)))
     with_m2 := disabled for cpu $(DEB_TARGET_ARCH)
 endif
@@ -1469,7 +1469,7 @@ ifeq ($(distribution),Debian)
 		mips mipsel mips64 mips64el mipsn32 mipsn32el \
 		mipsr6 mipsr6el mips64r6 mips64r6el mipsn32r6 mipsn32r6el \
 		ppc64el s390x sparc sparc64 kfreebsd-amd64 kfreebsd-i386 \
-		hurd-i386 riscv64
+		hurd-amd64 hurd-i386 riscv64
   endif
   ifeq (,$(filter $(distrelease), jessie stretch))
     pie_archs += powerpc ppc64
@@ -1495,7 +1495,7 @@ endif
 
 # gold --------------------
 # armel with binutils 2.20.51 only
-gold_archs = amd64 armel armhf i386 powerpc ppc64 ppc64el s390x sparc sparc64 x32 hurd-i386
+gold_archs = amd64 armel armhf i386 powerpc ppc64 ppc64el s390x sparc sparc64 x32 hurd-amd64 hurd-i386
 ifneq (,$(filter $(DEB_TARGET_ARCH),$(gold_archs)))
   with_gold := yes
 endif
diff --git a/debian/rules2 b/debian/rules2
index b1740b4..1b431e2 100644
--- a/debian/rules2
+++ b/debian/rules2
@@ -311,7 +311,7 @@ ifeq ($(libstdcxx_abi),gcc4-compatible)
   CONFARGS += --disable-libstdcxx-dual-abi
 endif
 
-ifeq (,$(filter $(DEB_TARGET_ARCH), hurd-i386 kfreebsd-i386 kfreebsd-amd64))
+ifeq (,$(filter $(DEB_TARGET_ARCH), hurd-amd64 hurd-i386 kfreebsd-amd64 kfreebsd-i386))
   CONFARGS += --enable-gnu-unique-object
 endif
 
@@ -396,7 +396,7 @@ ifneq (,$(filter $(DEB_TARGET_GNU_TYPE), i486-linux-gnu i586-linux-gnu i686-linu
     endif
 endif
 
-ifneq (,$(filter $(DEB_TARGET_GNU_TYPE), x86_64-linux-gnu x86_64-linux-gnux32 x86_64-kfreebsd-gnu s390x-linux-gnu sparc64-linux-gnu))
+ifneq (,$(filter $(DEB_TARGET_GNU_TYPE), x86_64-linux-gnu x86_64-linux-gnux32 x86_64-gnu x86_64-kfreebsd-gnu s390x-linux-gnu sparc64-linux-gnu))
     ifneq ($(biarch32),yes)
       CONFARGS += --disable-multilib
     endif
@@ -639,7 +639,11 @@ ifneq (,$(filter $(DEB_TARGET_ARCH), hurd-i386))
   CONFARGS += --with-arch=i686
 endif
 
-ifneq (,$(filter $(DEB_TARGET_ARCH), amd64 i386 hurd-i386 kfreebsd-i386 kfreebsd-amd64))
+ifneq (,$(filter $(DEB_TARGET_ARCH), hurd-amd64))
+  CONFARGS += --disable-multilib
+endif
+
+ifneq (,$(filter $(DEB_TARGET_ARCH), amd64 i386 hurd-amd64 hurd-i386 kfreebsd-i386 kfreebsd-amd64))
   CONFARGS += --with-tune=generic
 endif
 

Reply to: