From e4a8abf09697d21836ca0d6ddf13add717f403bf Mon Sep 17 00:00:00 2001 From: Debian Haskell Group Date: Fri, 19 Oct 2018 11:09:22 +0100 Subject: [PATCH] armel-revert-ghci-fixes # 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 { } -> Gbp-Pq: Name armel-revert-ghci-fixes.patch --- llvm-targets | 1 + 1 file changed, 1 insertion(+) diff --git a/llvm-targets b/llvm-targets index b67ee6cc..767ad325 100644 --- a/llvm-targets +++ b/llvm-targets @@ -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-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", "")) ,("armv7a-unknown-linux-gnueabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "generic", "")) -- 2.30.2