From 6b4d88d65aca2abd2dd33657d0382c190bc4b18c Mon Sep 17 00:00:00 2001 From: Dmitry Shachnev Date: Sat, 11 Nov 2017 13:40:22 +0300 Subject: 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. --- debian/changelog | 5 ++++- debian/patches/fix_ftbfs_x32.diff | 15 +++++++++++++++ debian/patches/series | 1 + debian/rules | 7 ++++++- 4 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 debian/patches/fix_ftbfs_x32.diff 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 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 -- cgit v1.2.3