Loading p/ghc/debian/patches/armel-revert-ghci-fixes.patch +67 −66 Original line number Diff line number Diff line 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", "")) p/ghc/debian/patches/series +1 −0 Original line number Diff line number Diff line Loading @@ -10,3 +10,4 @@ bsymbolic-only-for-registerised.patch use-llvm-6.0.patch e175aaf6918bb2b497b83618dc4c270a0d231a1c.patch risc-support.patch armel-revert-ghci-fixes.patch p/ghc/debian/rules +0 −3 Original line number Diff line number Diff line Loading @@ -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 Loading Loading
p/ghc/debian/patches/armel-revert-ghci-fixes.patch +67 −66 Original line number Diff line number Diff line 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", ""))
p/ghc/debian/patches/series +1 −0 Original line number Diff line number Diff line Loading @@ -10,3 +10,4 @@ bsymbolic-only-for-registerised.patch use-llvm-6.0.patch e175aaf6918bb2b497b83618dc4c270a0d231a1c.patch risc-support.patch armel-revert-ghci-fixes.patch
p/ghc/debian/rules +0 −3 Original line number Diff line number Diff line Loading @@ -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 Loading