[DHG_packages] 01/01: Import Adrian’s binNMU
Joachim Breitner
nomeata at moszumanska.debian.org
Fri Dec 25 23:34:49 UTC 2015
This is an automated email from the git hooks/post-receive script.
nomeata pushed a commit to branch master
in repository DHG_packages.
commit b544a6c94e1ef8c304ec7eac234d05be7ce39a58
Author: Joachim Breitner <mail at joachim-breitner.de>
Date: Sat Dec 26 00:34:00 2015 +0100
Import Adrian’s binNMU
---
p/ghc/debian/changelog | 9 +++
p/ghc/debian/patches/armel-revert-ghci-fixes.patch | 86 ++++++++++++++++++++++
p/ghc/debian/rules | 3 +
3 files changed, 98 insertions(+)
diff --git a/p/ghc/debian/changelog b/p/ghc/debian/changelog
index d3febbe..7370c7a 100644
--- a/p/ghc/debian/changelog
+++ b/p/ghc/debian/changelog
@@ -1,3 +1,12 @@
+ghc (7.10.3-4.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Add debian/patches/armel-revert-ghci-fixes.patch which reverts
+ the ARM ghci fixes, but apply the patch on armel only with
+ the help of the debian/rules file (Closes: #807020).
+
+ -- John Paul Adrian Glaubitz <glaubitz at physik.fu-berlin.de> Sun, 20 Dec 2015 17:01:39 +0100
+
ghc (7.10.3-4) unstable; urgency=medium
[ Colin Watson ]
diff --git a/p/ghc/debian/patches/armel-revert-ghci-fixes.patch b/p/ghc/debian/patches/armel-revert-ghci-fixes.patch
new file mode 100644
index 0000000..bb3e2c0
--- /dev/null
+++ b/p/ghc/debian/patches/armel-revert-ghci-fixes.patch
@@ -0,0 +1,86 @@
+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.
+ .
+
+--- ghc-7.10.3.orig/aclocal.m4
++++ ghc-7.10.3/aclocal.m4
+@@ -574,18 +574,10 @@ AC_DEFUN([FPTOOLS_SET_C_LD_FLAGS],
+ $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) and to link using the gold linker.
+- # Forcing LD to be ld.gold is done in FIND_LD m4 macro.
+- $2="$$2 -marm"
+- $3="$$3 -fuse-ld=gold -Wl,-z,noexecstack"
+- $4="$$4 -z noexecstack"
+- ;;
+-
+- aarch64*linux*)
+- # On aarch64/linux and aarch64/android, tell gcc to link using the
+- # gold linker.
++ arm*linux* | \
++ aarch64*linux* )
++ # On arm/linux, aarch64/linux, arm/android and aarch64/android, tell
++ # gcc to link using the gold linker.
+ # Forcing LD to be ld.gold is done in FIND_LD m4 macro.
+ $3="$$3 -fuse-ld=gold -Wl,-z,noexecstack"
+ $4="$$4 -z noexecstack"
+--- ghc-7.10.3.orig/compiler/ghci/ByteCodeItbls.hs
++++ ghc-7.10.3/compiler/ghci/ByteCodeItbls.hs
+@@ -219,17 +219,17 @@ mkJumpToAddr dflags a = case platformArc
+ , 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]
+
+ arch ->
+--- ghc-7.10.3.orig/compiler/llvmGen/LlvmCodeGen/Ppr.hs
++++ ghc-7.10.3/compiler/llvmGen/LlvmCodeGen/Ppr.hs
+@@ -52,7 +52,7 @@ moduleLayout = sdocWithPlatform $ \platf
+ $+$ text "target triple = \"x86_64-linux-gnu\""
+ Platform { platformArch = ArchARM {}, platformOS = OSLinux } ->
+ text "target datalayout = \"e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:128-a0:0:64-n32\""
+- $+$ text "target triple = \"armv6-unknown-linux-gnueabihf\""
++ $+$ text "target triple = \"arm-unknown-linux-gnueabi\""
+ Platform { platformArch = ArchARM {}, platformOS = OSAndroid } ->
+ text "target datalayout = \"e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:128-a0:0:64-n32\""
+ $+$ text "target triple = \"arm-unknown-linux-androideabi\""
+--- ghc-7.10.3.orig/rts/Linker.c
++++ ghc-7.10.3/rts/Linker.c
+@@ -5574,11 +5574,6 @@ do_Elf_Rel_relocations ( ObjectCode* oc,
+ #ifdef arm_HOST_ARCH
+ // Thumb instructions have bit 0 of symbol's st_value set
+ is_target_thm = S & 0x1;
+-
+- if (is_target_thm)
+- errorBelch( "Symbol `%s' requires Thumb linkage which is not "
+- "currently supported.\n", symbol );
+-
+ T = sym.st_info & STT_FUNC && is_target_thm;
+
+ // Make sure we clear bit 0. Strictly speaking we should have done
diff --git a/p/ghc/debian/rules b/p/ghc/debian/rules
index ca8d8f3..779d315 100755
--- a/p/ghc/debian/rules
+++ b/p/ghc/debian/rules
@@ -57,6 +57,9 @@ 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
ifeq (s390x,$(DEB_HOST_ARCH))
echo "SRC_CC_OPTS += -fno-PIE" >> mk/build.mk
echo "SRC_LD_OPTS += -no-pie" >> mk/build.mk
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-haskell/DHG_packages.git
More information about the Pkg-haskell-commits
mailing list