Bug#1089743: gcc-14: Fixing ada support on hurd-amd64
Package: gcc-14
Version: 14.2.0-8
Severity: important
Tags: patch upstream
Forwarded: gcc-patches@gcc.gnu.org
Hello,
Here is the last piece to make hurd-amd64 port on par with hurd-i386 on
the gcc-14 package.
- ada-hurd-amd64.diff is already commited upstream,
- and patch enables ada on hurd-amd64.
Samuel
-- System Information:
Debian Release: trixie/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable-security'), (500, 'stable-debug'), (500, 'oldstable-proposed-updates-debug'), (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.12.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-14 depends on:
ii binutils 2.43.50.20241204-2
ii cpp-14 14.2.0-8
ii gcc-14-base 14.2.0-8
ii gcc-14-x86-64-linux-gnu 14.2.0-8
Versions of packages gcc-14 recommends:
ii libc6-dev 2.40-4
Versions of packages gcc-14 suggests:
ii gcc-14-doc 14.2.0-1
pn gcc-14-locales <none>
pn gcc-14-multilib <none>
-- no debconf information
--
Samuel
«Le monochrome, c'est pour ceux qui s'intéressent (encore) au contenu.
Usenet dans ces conditions, c'est comme le web avec lynx, on prend
trop conscience du vide, c'est déprimant.»
-+- JLC in Guide du linuxien pervers : "Coup de cafard..." -+-
--- a/src/gcc/ada/Makefile.rtl
+++ b/src/gcc/ada/Makefile.rtl
@@ -1674,6 +1674,34 @@ ifeq ($(strip $(filter-out x86_64 kfreeb
LIBRARY_VERSION := $(LIB_VERSION)
endif
+# x86_64-pc-gnu i.e. GNU Hurd
+ifeq ($(strip $(filter-out x86_64 pc gnu,$(target_cpu) $(target_os))),)
+ LIBGNAT_TARGET_PAIRS = \
+ a-intnam.ads<libgnarl/a-intnam__freebsd.ads \
+ s-inmaop.adb<libgnarl/s-inmaop__posix.adb \
+ s-intman.adb<libgnarl/s-intman__posix.adb \
+ s-osinte.adb<libgnarl/s-osinte__gnu.adb \
+ s-osinte.ads<libgnarl/s-osinte__gnu.ads \
+ s-osprim.adb<libgnat/s-osprim__posix.adb \
+ s-taprop.adb<libgnarl/s-taprop__posix.adb \
+ s-taspri.ads<libgnarl/s-taspri__posix.ads \
+ s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \
+ $(ATOMICS_TARGET_PAIRS) \
+ $(X86_64_TARGET_PAIRS) \
+ $(GNATRTL_128BIT_PAIRS) \
+ system.ads<libgnat/system-freebsd.ads
+
+ EXTRA_GNATRTL_NONTASKING_OBJS = $(GNATRTL_128BIT_OBJS)
+
+ TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb
+
+ EH_MECHANISM=-gcc
+ THREADSLIB = -lpthread
+ GNATLIB_SHARED = gnatlib-shared-dual
+ GMEM_LIB = gmemlib
+ LIBRARY_VERSION := $(LIB_VERSION)
+endif
+
# aarch64 FreeBSD
ifeq ($(strip $(filter-out %aarch64 freebsd%,$(target_cpu) $(target_os))),)
LIBGNAT_TARGET_PAIRS = \
diff -Nru gcc-14-14.2.0/debian/rules.defs gcc-14-14.2.0/debian/rules.defs
--- gcc-14-14.2.0/debian/rules.defs 2024-09-15 10:22:28.000000000 +0200
+++ gcc-14-14.2.0/debian/rules.defs 2024-10-21 20:31:21.000000000 +0200
@@ -907,9 +907,6 @@
ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(ada_no_cpus)))
with_ada := disabled for cpu $(DEB_TARGET_ARCH_CPU)
endif
-ifneq (,$(filter $(DEB_TARGET_ARCH),hurd-amd64))
- with_ada := disabled for arch $(DEB_TARGET_ARCH)
-endif
ifneq (,$(findstring $(DEB_TARGET_GNU_SYSTEM),$(ada_no_systems)))
with_ada := disabled for system $(DEB_TARGET_GNU_SYSTEM)
endif
Reply to: