Hi Adrian,
On Fri, Jan 09, 2026 at 01:59PM, John Paul Adrian Glaubitz wrote:
The attached patch fixes the problem for me. It's not an ideal solution
as it
hardwires 32-bit ARM targets to armv7, but it should give us a rough idea what
the underlying problem is.
Unfortunately this patch results in an unregisterised GHC on armhf. I
tried to modify more places to fix this (see attached armv7.patch file)
but this resulted in a broken build.
I also tried disabling the check that GHC does during configuration (see
attached remove-check.patch file) and this succeeded. So at least we
have this as a backup plan.
--
Ilias
Index: ghc-9.10.3/m4/fptools_set_haskell_platform_vars.m4
===================================================================
--- ghc-9.10.3.orig/m4/fptools_set_haskell_platform_vars.m4
+++ ghc-9.10.3/m4/fptools_set_haskell_platform_vars.m4
@@ -23,7 +23,7 @@ AC_DEFUN([FPTOOLS_SET_HASKELL_PLATFORM_V
s390x)
test -z "[$]2" || eval "[$]2=ArchS390X"
;;
- arm)
+ arm*)
GET_ARM_ISA()
test -z "[$]2" || eval "[$]2=\"ArchARM \$ARM_ISA \$ARM_ISA_EXT \$ARM_ABI\""
;;
@@ -196,7 +196,7 @@ AC_DEFUN([GHC_GNU_NONEXEC_STACK],
CFLAGS2="$CFLAGS"
CFLAGS=
case $TargetArch in
- arm)
+ arm*)
dnl See #13937.
progbits="%progbits"
;;
Index: ghc-9.10.3/m4/ghc_convert_cpu.m4
===================================================================
--- ghc-9.10.3.orig/m4/ghc_convert_cpu.m4
+++ ghc-9.10.3/m4/ghc_convert_cpu.m4
@@ -12,7 +12,7 @@ case "$1" in
$2="alpha"
;;
arm*)
- $2="arm"
+ $2="armv7"
;;
hppa1.1*)
$2="hppa1_1"
Index: ghc-9.10.3/m4/ghc_unregisterised.m4
===================================================================
--- ghc-9.10.3.orig/m4/ghc_unregisterised.m4
+++ ghc-9.10.3/m4/ghc_unregisterised.m4
@@ -5,7 +5,7 @@ AC_DEFUN([GHC_UNREGISTERISED],
[
AC_MSG_CHECKING(whether target supports a registerised ABI)
case "$TargetArch" in
- i386|x86_64|powerpc|powerpc64|powerpc64le|s390x|arm|aarch64|riscv64|wasm32|javascript|loongarch64)
+ i386|x86_64|powerpc|powerpc64|powerpc64le|s390x|arm*|aarch64|riscv64|wasm32|javascript|loongarch64)
UnregisterisedDefault=NO
AC_MSG_RESULT([yes])
;;
Index: ghc-9.10.3/mk/project.mk.in
===================================================================
--- ghc-9.10.3.orig/mk/project.mk.in
+++ ghc-9.10.3/mk/project.mk.in
@@ -154,6 +154,6 @@ endif
# Is the stage0 compiler affected by Bug #9439?
GHC_LLVM_AFFECTED_BY_9439 = @GHC_LLVM_AFFECTED_BY_9439@
-ifeq "$(TargetArch_CPP)" "arm"
+ifeq "$(TargetArch_CPP)" "armv7"
ARM_ISA=@ARM_ISA@
endif
Index: ghc-9.10.3/configure.ac
===================================================================
--- ghc-9.10.3.orig/configure.ac
+++ ghc-9.10.3/configure.ac
@@ -277,13 +277,6 @@ FP_PROG_SH
# Verify that the installed (bootstrap) GHC is capable of generating
# code for the requested build platform.
-if test "$BuildPlatform" != "$bootstrap_target"
-then
- echo "This GHC (${WithGhc}) does not generate code for the build platform"
- echo " GHC target platform : $bootstrap_target"
- echo " Desired build platform : $BuildPlatform"
- exit 1
-fi
dnl ** Do an unregisterised build?
dnl --------------------------------------------------------------