On Fri, 10 Nov 2017, Dmitry Shachnev wrote: > On Thu, Nov 09, 2017 at 04:06:47PM +0100, Thorsten Glaser wrote: > > > Thanks! I have already applied a similar fix in Git. > > > > OK, good. https://anonscm.debian.org/cgit/pkg-kde/qt/qt5webkit.git > > does not show it, though. Could you please point me to it for review? > > Sorry, forgot to push. Pushed now. OK. The change is semantically different because it also disables the JIT on kfreebsd-{i386,amd64} and hurd-i386, on which it previously was enabled, AFAICT. The hurd-i386 build failed, but on kfreebsd-* it seems to have worked, so please use this line from my patch: +ifeq (,$(filter $(DEB_HOST_ARCH),amd64 arm64 kfreebsd-amd64 armhf i386 kfreebsd-i386 hurd-i386 mips mipsel)) > > That helps, but *still* doesn’t suffice: > Can you please try removing -DUSE_LD_GOLD=OFF from debian/rules? That’s it! The build succeeded, debdiff and full build log attached. I’ll now build the source and arch:all part (in an amd64 cowbuilder, for simplicity) and upload to debian-ports “unreleased”, to get the current Qt transition on the way (my main desktop at work runs x32, so I’m currently in “cannot dist-upgrade” hell), and your next upload with these changes will supercede it eventually. > I do not have a hardware capable of building webkit Yeah, it does take quite a bit of computation power ;) >, and there does not seem > to be a porterbox with x32 support. DSA doesn’t like x32 because nobody’s doing kernel fuzzing for it yet, so it’s only enabled using a kernel option (from GRUB). I have access to some hardware (old servers my employer doesn’t need any longer because, while powerful-ish amd64, it lacks hardware virtualisation support), but no way to host it. I could try to ask them to host it and isolate it from the LAN, but I’ve got no idea of how to set up a proper Debian porterbox. bye, //mirabilos -- tarent solutions GmbH Rochusstraße 2-4, D-53123 Bonn • http://www.tarent.de/ Tel: +49 228 54881-393 • Fax: +49 228 54881-235 HRB 5168 (AG Bonn) • USt-ID (VAT): DE122264941 Geschäftsführer: Dr. Stefan Barth, Kai Ebenrett, Boris Esser, Alexander Steeg
diff -Nru qtwebkit-opensource-src-5.212.0~alpha2/debian/changelog qtwebkit-opensource-src-5.212.0~alpha2/debian/changelog --- qtwebkit-opensource-src-5.212.0~alpha2/debian/changelog 2017-10-30 18:08:25.000000000 +0100 +++ qtwebkit-opensource-src-5.212.0~alpha2/debian/changelog 2017-11-10 15:19:21.000000000 +0100 @@ -1,3 +1,27 @@ +qtwebkit-opensource-src (5.212.0~alpha2-5~x32.3) unreleased; urgency=high + + [ Dmitry Shachnev ] + * Switch from bfd linker back to gold for x32 only + (closes: #881055). + + -- Thorsten Glaser <tg@mirbsd.de> Fri, 10 Nov 2017 15:19:21 +0100 + +qtwebkit-opensource-src (5.212.0~alpha2-5~x32.2) unreleased; urgency=high + + [ Dmitry Shachnev ] + * Apply upstream commit 0858ee607f376ae8 (x32 bugfix). + + -- Thorsten Glaser <tg@mirbsd.de> Thu, 09 Nov 2017 13:56:30 +0100 + +qtwebkit-opensource-src (5.212.0~alpha2-5~x32.1) unreleased; urgency=high + + * Non-maintainer upload. + * debian/rules: Fix misuse of DEB_HOST_ARCH_CPU when DEB_HOST_ARCH + was intended to fix FTBFS on Debian architectures that share CPU + architecture but not ABI with a JIT-supported one, e.g. x32. + + -- Thorsten Glaser <tg@mirbsd.de> Wed, 08 Nov 2017 16:05:39 +0100 + qtwebkit-opensource-src (5.212.0~alpha2-5) unstable; urgency=medium * Add a patch from Fedora to fix nullptr dereference in selectedHtml() diff -Nru qtwebkit-opensource-src-5.212.0~alpha2/debian/patches/0858ee607f376ae8.diff qtwebkit-opensource-src-5.212.0~alpha2/debian/patches/0858ee607f376ae8.diff --- qtwebkit-opensource-src-5.212.0~alpha2/debian/patches/0858ee607f376ae8.diff 1970-01-01 01:00:00.000000000 +0100 +++ qtwebkit-opensource-src-5.212.0~alpha2/debian/patches/0858ee607f376ae8.diff 2017-11-09 13:56:26.000000000 +0100 @@ -0,0 +1,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 -Nru qtwebkit-opensource-src-5.212.0~alpha2/debian/patches/series qtwebkit-opensource-src-5.212.0~alpha2/debian/patches/series --- qtwebkit-opensource-src-5.212.0~alpha2/debian/patches/series 2017-10-30 18:08:25.000000000 +0100 +++ qtwebkit-opensource-src-5.212.0~alpha2/debian/patches/series 2017-11-09 13:56:07.000000000 +0100 @@ -3,3 +3,4 @@ atomic_config_test.diff fix_copyChars_segfault.diff fix_selectedHtml_segfault.diff +0858ee607f376ae8.diff diff -Nru qtwebkit-opensource-src-5.212.0~alpha2/debian/rules qtwebkit-opensource-src-5.212.0~alpha2/debian/rules --- qtwebkit-opensource-src-5.212.0~alpha2/debian/rules 2017-10-30 18:08:25.000000000 +0100 +++ qtwebkit-opensource-src-5.212.0~alpha2/debian/rules 2017-11-10 15:16:42.000000000 +0100 @@ -3,7 +3,7 @@ # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 -DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU) +DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) @@ -12,31 +12,36 @@ # The debug packages produced by webkit are huge and cause problems in # most buildds, so use -g1 in all architectures except the ones that # are known to work fine -ifeq (,$(filter $(DEB_HOST_ARCH_CPU),ppc64 ppc64el s390x)) +ifeq (,$(filter $(DEB_HOST_ARCH),ppc64 ppc64el s390x)) export DEB_CXXFLAGS_MAINT_STRIP = -g export DEB_CXXFLAGS_MAINT_APPEND = -g1 endif # See https://github.com/annulen/webkit/issues/626 -ifneq (,$(filter $(DEB_HOST_ARCH_CPU),mips mipsel)) +ifneq (,$(filter $(DEB_HOST_ARCH),mips mipsel)) export DEB_CXXFLAGS_MAINT_APPEND = -mfp32 endif # JIT is only supported on x86 / armhf / aarch64 / mips32 -ifeq (,$(filter $(DEB_HOST_ARCH_CPU),amd64 arm64 armhf i386 mips mipsel)) +ifeq (,$(filter $(DEB_HOST_ARCH),amd64 arm64 kfreebsd-amd64 armhf i386 kfreebsd-i386 hurd-i386 mips mipsel)) EXTRA_CMAKE_ARGUMENTS += -DENABLE_JIT=OFF endif # Copied from Fedora; see also https://github.com/annulen/webkit/issues/480 -ifneq (,$(filter $(DEB_HOST_ARCH_CPU),ppc64el s390x)) +ifneq (,$(filter $(DEB_HOST_ARCH),ppc64el s390x)) EXTRA_CMAKE_ARGUMENTS += -DUSE_SYSTEM_MALLOC=ON endif +# Use gold on some architectures to fix FTBFS +ifeq (,$(filter $(DEB_HOST_ARCH),x32)) + EXTRA_CMAKE_ARGUMENTS += -DUSE_LD_GOLD=OFF +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
Attachment:
qtwebkit-opensource-src_5.212.0~alpha2-5~x32.3_x32.build.xz
Description: application/xz