summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Shachnev <mitya57@gmail.com>2017-11-11 13:40:22 +0300
committerDmitry Shachnev <mitya57@gmail.com>2017-11-11 13:40:22 +0300
commit6b4d88d65aca2abd2dd33657d0382c190bc4b18c (patch)
tree81cb73ff452fa7f11c337f5630db48b4cebc468b
parenteac2436a5b33f28c2e60131655651094fe8de517 (diff)
downloadqt5webkit-6b4d88d65aca2abd2dd33657d0382c190bc4b18c.tar.gz
Fix remaining build issues on x32 architecture.
- Backport upstream patch to use JSVALUE32_64 on x32. - Use gold linker on x32, to avoid undefined reference error. Closes: #881055.
-rw-r--r--debian/changelog5
-rw-r--r--debian/patches/fix_ftbfs_x32.diff15
-rw-r--r--debian/patches/series1
-rwxr-xr-xdebian/rules7
4 files changed, 26 insertions, 2 deletions
diff --git a/debian/changelog b/debian/changelog
index a883b14..31a6aeb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,7 +1,10 @@
qtwebkit-opensource-src (5.212.0~alpha2-6) UNRELEASED; urgency=medium
[ Dmitry Shachnev ]
- * Make sure JIT is not enabled on x32.
+ * Fix build on x32 architecture (closes: #881055):
+ - Make sure JIT is not enabled on x32.
+ - Backport upstream patch to use JSVALUE32_64 on x32.
+ - Use gold linker on x32, to avoid undefined reference error.
-- Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org> Wed, 08 Nov 2017 17:14:28 +0300
diff --git a/debian/patches/fix_ftbfs_x32.diff b/debian/patches/fix_ftbfs_x32.diff
new file mode 100644
index 0000000..38a90e5
--- /dev/null
+++ b/debian/patches/fix_ftbfs_x32.diff
@@ -0,0 +1,15 @@
+Description: fix x32 build
+Origin: upstream, https://github.com/WebKit/webkit/commit/0858ee607f376ae8
+Last-Update: 2017-11-11
+
+--- a/Source/WTF/wtf/Platform.h
++++ b/Source/WTF/wtf/Platform.h
+@@ -705,7 +705,7 @@
+ #endif
+
+ #if !defined(USE_JSVALUE64) && !defined(USE_JSVALUE32_64)
+-#if (CPU(X86_64) && (OS(UNIX) || OS(WINDOWS))) \
++#if (CPU(X86_64) && !defined(__ILP32__) && (OS(UNIX) || OS(WINDOWS))) \
+ || (CPU(IA64) && !CPU(IA64_32)) \
+ || CPU(ALPHA) \
+ || CPU(ARM64) \
diff --git a/debian/patches/series b/debian/patches/series
index d8c8b3b..2eca08b 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,4 @@ detect_opengl_es2.diff
atomic_config_test.diff
fix_copyChars_segfault.diff
fix_selectedHtml_segfault.diff
+fix_ftbfs_x32.diff
diff --git a/debian/rules b/debian/rules
index b3afa15..7513035 100755
--- a/debian/rules
+++ b/debian/rules
@@ -20,6 +20,11 @@ ifneq (,$(filter $(DEB_HOST_ARCH_CPU),mips mipsel))
export DEB_CXXFLAGS_MAINT_APPEND = -mfp32
endif
+# Disable gold linker on all architectures except x32
+ifneq ($(DEB_HOST_ARCH),x32)
+ EXTRA_CMAKE_ARGUMENTS += -DUSE_LD_GOLD=OFF
+endif
+
# JIT is only supported on x86 / armhf / aarch64 / mips32
ifeq (,$(filter $(DEB_HOST_ARCH),amd64 arm64 armhf hurd-i386 i386 kfreebsd-amd64 kfreebsd-i386 mips mipsel))
EXTRA_CMAKE_ARGUMENTS += -DENABLE_JIT=OFF
@@ -34,7 +39,7 @@ endif
dh $@ --buildsystem=cmake --with pkgkde_symbolshelper
override_dh_auto_configure:
- dh_auto_configure -- -G Ninja -DPORT=Qt -DUSE_LD_GOLD=OFF $(EXTRA_CMAKE_ARGUMENTS)
+ dh_auto_configure -- -G Ninja -DPORT=Qt $(EXTRA_CMAKE_ARGUMENTS)
override_dh_auto_build-arch:
dh_auto_build --builddirectory=obj-$(DEB_HOST_GNU_TYPE) -O--buildsystem=ninja