Commit 24668a10 authored by Gianfranco Costamagna's avatar Gianfranco Costamagna

ghc: try to enable again armel patch, but commented out, and everywhere

parent 97ce9255
Description: Revert ghci ARM improvements (ticket #10375) on armel
This patch reverts a change which improved ghci on ARM (see
ghc ticket #10375). While the change fixed ghci on armhf, it
actually resulted in the ghc package FTBFS on armel since the
changes introduced made ghc incompatible with this architecture
(ticket #11058). As a temporary workaround, we revert this particular
change when ghc is built on armel. For this reason, this patch
is not applied using the series file but only selectively on
armel with the help of debian/rules.
.
Index: ghc-8.4.1/aclocal.m4
===================================================================
--- ghc-8.4.1.orig/aclocal.m4
+++ ghc-8.4.1/aclocal.m4
@@ -651,15 +651,8 @@
$3="$$3 -D_HPUX_SOURCE"
$5="$$5 -D_HPUX_SOURCE"
;;
- arm*linux*)
- # On arm/linux and arm/android, tell gcc to generate Arm
- # instructions (ie not Thumb).
- $2="$$2 -marm"
- $3="$$3 -Wl,-z,noexecstack"
- $4="$$4 -z noexecstack"
- ;;
-
- aarch64*linux*)
+ arm*linux* | \
+ aarch64*linux* )
$3="$$3 -Wl,-z,noexecstack"
$4="$$4 -z noexecstack"
;;
Index: ghc-8.4.1/libraries/ghci/GHCi/InfoTable.hsc
===================================================================
--- ghc-8.4.1.orig/libraries/ghci/GHCi/InfoTable.hsc
+++ ghc-8.4.1/libraries/ghci/GHCi/InfoTable.hsc
@@ -245,17 +245,17 @@
, fromIntegral ((w64 `shiftR` 32) .&. 0x0000FFFF) ]
ArchARM { } ->
- -- Generates Arm sequence,
+ -- Generates Thumb sequence,
-- ldr r1, [pc, #0]
-- bx r1
--
-- which looks like:
-- 00000000 <.addr-0x8>:
- -- 0: 00109fe5 ldr r1, [pc] ; 8 <.addr>
- -- 4: 11ff2fe1 bx r1
+ -- 0: 4900 ldr r1, [pc] ; 8 <.addr>
+ -- 4: 4708 bx r1
let w32 = fromIntegral (funPtrToInt a) :: Word32
- in Left [ 0x00, 0x10, 0x9f, 0xe5
- , 0x11, 0xff, 0x2f, 0xe1
+ in Left [ 0x49, 0x00
+ , 0x47, 0x08
, byte0 w32, byte1 w32, byte2 w32, byte3 w32]
ArchARM64 { } ->
Description: with new ghc 8.4.3, the armel situation seems to have improved,
apply this patch unconditionally.
#Description: Revert ghci ARM improvements (ticket #10375) on armel
# This patch reverts a change which improved ghci on ARM (see
# ghc ticket #10375). While the change fixed ghci on armhf, it
# actually resulted in the ghc package FTBFS on armel since the
# changes introduced made ghc incompatible with this architecture
# (ticket #11058). As a temporary workaround, we revert this particular
# change when ghc is built on armel. For this reason, this patch
# is not applied using the series file but only selectively on
# armel with the help of debian/rules.
# .
#
#Index: ghc-8.4.1/aclocal.m4
#===================================================================
#--- ghc-8.4.1.orig/aclocal.m4
#+++ ghc-8.4.1/aclocal.m4
#@@ -651,15 +651,8 @@
# $3="$$3 -D_HPUX_SOURCE"
# $5="$$5 -D_HPUX_SOURCE"
# ;;
#- arm*linux*)
#- # On arm/linux and arm/android, tell gcc to generate Arm
#- # instructions (ie not Thumb).
#- $2="$$2 -marm"
#- $3="$$3 -Wl,-z,noexecstack"
#- $4="$$4 -z noexecstack"
#- ;;
#-
#- aarch64*linux*)
#+ arm*linux* | \
#+ aarch64*linux* )
# $3="$$3 -Wl,-z,noexecstack"
# $4="$$4 -z noexecstack"
# ;;
#Index: ghc-8.4.1/libraries/ghci/GHCi/InfoTable.hsc
#===================================================================
#--- ghc-8.4.1.orig/libraries/ghci/GHCi/InfoTable.hsc
#+++ ghc-8.4.1/libraries/ghci/GHCi/InfoTable.hsc
#@@ -245,17 +245,17 @@
# , fromIntegral ((w64 `shiftR` 32) .&. 0x0000FFFF) ]
#
# ArchARM { } ->
#- -- Generates Arm sequence,
#+ -- Generates Thumb sequence,
# -- ldr r1, [pc, #0]
# -- bx r1
# --
# -- which looks like:
# -- 00000000 <.addr-0x8>:
#- -- 0: 00109fe5 ldr r1, [pc] ; 8 <.addr>
#- -- 4: 11ff2fe1 bx r1
#+ -- 0: 4900 ldr r1, [pc] ; 8 <.addr>
#+ -- 4: 4708 bx r1
# let w32 = fromIntegral (funPtrToInt a) :: Word32
#- in Left [ 0x00, 0x10, 0x9f, 0xe5
#- , 0x11, 0xff, 0x2f, 0xe1
#+ in Left [ 0x49, 0x00
#+ , 0x47, 0x08
# , byte0 w32, byte1 w32, byte2 w32, byte3 w32]
#
# ArchARM64 { } ->
Index: ghc-8.4.1/llvm-targets
===================================================================
--- ghc-8.4.1.orig/llvm-targets
+++ ghc-8.4.1/llvm-targets
@@ -2,7 +2,7 @@
,("i686-unknown-windows", ("e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32", "pentium4", ""))
@@ -3,6 +3,7 @@
,("x86_64-unknown-windows", ("e-m:w-i64:64-f80:128-n8:16:32:64-S128", "x86-64", ""))
,("arm-unknown-linux-gnueabihf", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "arm1176jzf-s", "+strict-align"))
-,("armv6-unknown-linux-gnueabihf", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "arm1136jf-s", "+strict-align"))
+,("arm-unknown-linux-gnueabihf", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "arm1136jf-s", "+strict-align"))
,("armv6-unknown-linux-gnueabihf", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "arm1136jf-s", "+strict-align"))
+,("arm-unknown-linux-gnueabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "arm1136jf-s", "+strict-align"))
,("armv6l-unknown-linux-gnueabihf", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "arm1176jzf-s", "+strict-align"))
,("armv7-unknown-linux-gnueabihf", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "generic", ""))
,("aarch64-unknown-linux-gnu", ("e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128", "generic", "+neon"))
,("aarch64-unknown-linux", ("e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128", "generic", "+neon"))
,("armv7a-unknown-linux-gnueabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "generic", ""))
......@@ -10,3 +10,4 @@ bsymbolic-only-for-registerised.patch
use-llvm-6.0.patch
e175aaf6918bb2b497b83618dc4c270a0d231a1c.patch
risc-support.patch
armel-revert-ghci-fixes.patch
......@@ -81,9 +81,6 @@ endif
ifeq (armhf,$(DEB_HOST_ARCH))
echo "SRC_HC_OPTS += -D__ARM_PCS_VFP" >> mk/build.mk
endif
#ifeq (armel,$(DEB_HOST_ARCH))
# patch -p1 < debian/patches/armel-revert-ghci-fixes.patch
#endif
ifneq (,$(filter mips mipsel, $(DEB_HOST_ARCH)))
echo "SRC_HC_OPTS += -optc--param -optcggc-min-expand=10" >> mk/build.mk
endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment