diff --git a/debian/changelog b/debian/changelog index 8e2cc14..9b04dbb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +qtwebkit-opensource-src (5.212.0~alpha4-13ubuntu1) jammy; urgency=medium + + * d/p/webkit-javascript-s390x-segmentation-fault-fix.patch: + WebKit Javascript big endian/s390x segmentation-fault fix + (LP: #1951470) + + -- Frank Heimes Mon, 22 Nov 2021 18:50:37 +0100 + qtwebkit-opensource-src (5.212.0~alpha4-13) unstable; urgency=medium * Bump Standards-Version to 4.6.0, no changes needed. diff --git a/debian/control b/debian/control index 0221d7a..6ed714d 100644 --- a/debian/control +++ b/debian/control @@ -1,6 +1,7 @@ Source: qtwebkit-opensource-src Priority: optional -Maintainer: Debian Qt/KDE Maintainers +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Debian Qt/KDE Maintainers Uploaders: Timo Jyrinki , Lisandro Damián Nicanor Pérez Meyer , Dmitry Shachnev , diff --git a/debian/patches/series b/debian/patches/series index a369709..312acc9 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -5,3 +5,4 @@ bison_3.7.diff no_pdf_image_plugin.diff python_3.9.diff glib_2.68.diff +webkit-javascript-s390x-segmentation-fault-fix.patch diff --git a/debian/patches/webkit-javascript-s390x-segmentation-fault-fix.patch b/debian/patches/webkit-javascript-s390x-segmentation-fault-fix.patch new file mode 100644 index 0000000..fd2e369 --- /dev/null +++ b/debian/patches/webkit-javascript-s390x-segmentation-fault-fix.patch @@ -0,0 +1,38 @@ +Description: WebKit Javascript big endian/s390x segmentation-fault fix + In CodeBlock.cpp the code preparing the operands of op_get_from_scope writes + the property offset as pointer size (hence 64 bit) value: + 2141: instructions[i + 6].u.pointer = reinterpret_cast(op.operand); + while the same slot is accessed later by the jitted code as 32 bit integer: + macro getProperty(slow) + loadisFromInstruction(6, t1) + This fails on big endian targets since the integer access takes the higher + part of the 64 bit value. + Changing: + macro getProperty(slow) + loadisFromInstruction(6, t1) + to + macro getProperty(slow) + loadpFromInstruction(6, t1) + in llint/LowLevelInterpreter64.asm fixes the problem + on big endian environments. + +Author: Andreas Krebbel +Origin: vendor, https://launchpadlibrarian.net/569624765/webkit-IBMZ-fix.patch +Bug-IBM: IBM Bugzilla 195436 +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1951470 +Forwarded: not-needed +Reviewed-by: Frank Heimes +Last-Update: 2021-11-22 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm ++++ b/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm +@@ -2020,7 +2020,7 @@ + end + + macro getProperty(slow) +- loadisFromInstruction(6, t1) ++ loadpFromInstruction(6, t1) + loadPropertyAtVariableOffset(t1, t0, t2, slow) + valueProfile(t2, 7, t0) + loadisFromInstruction(1, t0)