mirror of
https://github.com/thead-yocto-mirror/meta-qt5
synced 2026-09-06 14:14:36 +02:00
qtwebkit: fix textrel QA warnings when building qtwebkit for x86
WARNING: QA Issue: ELF binary '/home/andre/rdk/rdk-master/build-vbox32/tmp/work/core2-32-rdk-linux/qtwebkit/5.4.0-r0/packages-split/qtwebkit/usr/lib/libQt5WebKit.so.5.4.0' has relocations in .text [textrel] Patch from upstream webkit: https://bugs.webkit.org/show_bug.cgi?id=70610 Minor refresh required to apply cleanly to the older webkit sources used by qtwebkit. Specifically, the patch needed to be modified to account for PLATFORM(MAC) -> OS(DARWIN) renaming in recent webkit which is not part of qtwebkit yet ( https://bugs.webkit.org/show_bug.cgi?id=99683 ). Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
committed by
Martin Jansa
parent
d9c741cce2
commit
a137e6e8b4
@@ -8,6 +8,11 @@ LIC_FILES_CHKSUM = "file://LICENSE.GPLv2;md5=e782f55badfa137e5e59c330f12cc8ed \
|
||||
|
||||
DEPENDS += "qtbase qtdeclarative icu ruby-native sqlite3 glib-2.0 libxslt leveldb"
|
||||
|
||||
SRC_URI += "\
|
||||
file://0001-qtwebkit-fix-QA-issue-bad-RPATH.patch \
|
||||
file://0002-qtwebkit-fix-textrel-x86.patch \
|
||||
"
|
||||
|
||||
PACKAGECONFIG ??= "gstreamer qtlocation qtmultimedia qtsensors"
|
||||
PACKAGECONFIG[gstreamer] = "OE_GSTREAMER_ENABLED,,gstreamer1.0 gstreamer1.0-plugins-base"
|
||||
PACKAGECONFIG[gstreamer010] = "OE_GSTREAMER010_ENABLED,,gstreamer gst-plugins-base"
|
||||
@@ -39,8 +44,6 @@ EXTRA_QMAKEVARS_PRE += "${QTWEBKIT_DEBUG}"
|
||||
# remove default ${PN}-examples-dbg ${PN}-examples set in qt5.inc, because it conflicts with ${PN} from separate webkit-examples recipe
|
||||
PACKAGES = "${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN} ${PN}-qmlplugins-dbg ${PN}-tools-dbg ${PN}-plugins-dbg ${PN}-qmlplugins ${PN}-tools ${PN}-plugins ${PN}-mkspecs "
|
||||
|
||||
SRC_URI += "file://0001-qtwebkit-fix-QA-issue-bad-RPATH.patch"
|
||||
|
||||
# make sure rb files are used from sysroot, not from host
|
||||
# ruby-1.9.3-always-use-i386.patch is doing target_cpu=`echo $target_cpu | sed s/i.86/i386/`
|
||||
# we need to replace it too (a bit longer version without importing re)
|
||||
|
||||
68
recipes-qt/qt5/qtwebkit/0002-qtwebkit-fix-textrel-x86.patch
Normal file
68
recipes-qt/qt5/qtwebkit/0002-qtwebkit-fix-textrel-x86.patch
Normal file
@@ -0,0 +1,68 @@
|
||||
Fix textrel QA warnings when building qtwebkit for x86:
|
||||
|
||||
WARNING: QA Issue: ELF binary '/home/andre/rdk/rdk-master/build-vbox32/tmp/work/core2-32-rdk-linux/qtwebkit/5.4.0-r0/packages-split/qtwebkit/usr/lib/libQt5WebKit.so.5.4.0' has relocations in .text [textrel]
|
||||
|
||||
Patch from upstream webkit:
|
||||
|
||||
https://bugs.webkit.org/show_bug.cgi?id=70610
|
||||
|
||||
Minor refresh required to apply cleanly to the older webkit sources used
|
||||
by qtwebkit. Specifically, the patch needed to be modified to account
|
||||
for PLATFORM(MAC) -> OS(DARWIN) renaming in recent webkit which is not
|
||||
part of qtwebkit yet ( https://bugs.webkit.org/show_bug.cgi?id=99683 ).
|
||||
|
||||
Upstream status [webkit] : backport
|
||||
Upstream status [qtwebkit] : unclear
|
||||
|
||||
|
||||
From: Magnus Granberg <zorry@gentoo.org>
|
||||
Subject: Remove TEXTREL tag in x86
|
||||
Bug: https://bugs.webkit.org/show_bug.cgi?id=70610
|
||||
Index: webkitgtk/Source/WTF/wtf/InlineASM.h
|
||||
===================================================================
|
||||
--- webkitgtk.orig/Source/WTF/wtf/InlineASM.h
|
||||
+++ webkitgtk/Source/WTF/wtf/InlineASM.h
|
||||
@@ -46,6 +46,8 @@
|
||||
#define GLOBAL_REFERENCE(name) #name "@plt"
|
||||
#elif CPU(X86) && COMPILER(MINGW)
|
||||
#define GLOBAL_REFERENCE(name) "@" #name "@4"
|
||||
+#elif OS(LINUX) && CPU(X86) && defined(__PIC__)
|
||||
+#define GLOBAL_REFERENCE(name) SYMBOL_STRING(name) "@plt"
|
||||
#else
|
||||
#define GLOBAL_REFERENCE(name) SYMBOL_STRING(name)
|
||||
#endif
|
||||
Index: webkitgtk/Source/JavaScriptCore/jit/ThunkGenerators.cpp
|
||||
===================================================================
|
||||
--- webkitgtk.orig/Source/JavaScriptCore/jit/ThunkGenerators.cpp
|
||||
+++ webkitgtk/Source/JavaScriptCore/jit/ThunkGenerators.cpp
|
||||
@@ -524,6 +524,30 @@ double jsRound(double d)
|
||||
} \
|
||||
static MathThunk UnaryDoubleOpWrapper(function) = &function##Thunk;
|
||||
|
||||
+#elif CPU(X86) && COMPILER(GCC) && OS(LINUX) && defined(__PIC__)
|
||||
+#define defineUnaryDoubleOpWrapper(function) \
|
||||
+ asm( \
|
||||
+ ".text\n" \
|
||||
+ ".globl " SYMBOL_STRING(function##Thunk) "\n" \
|
||||
+ HIDE_SYMBOL(function##Thunk) "\n" \
|
||||
+ SYMBOL_STRING(function##Thunk) ":" "\n" \
|
||||
+ "pushl %ebx\n" \
|
||||
+ "subl $20, %esp\n" \
|
||||
+ "movsd %xmm0, (%esp) \n" \
|
||||
+ "call __x86.get_pc_thunk.bx\n" \
|
||||
+ "addl $_GLOBAL_OFFSET_TABLE_, %ebx\n" \
|
||||
+ "call " GLOBAL_REFERENCE(function) "\n" \
|
||||
+ "fstpl (%esp) \n" \
|
||||
+ "movsd (%esp), %xmm0 \n" \
|
||||
+ "addl $20, %esp\n" \
|
||||
+ "popl %ebx\n" \
|
||||
+ "ret\n" \
|
||||
+ );\
|
||||
+ extern "C" { \
|
||||
+ MathThunkCallingConvention function##Thunk(MathThunkCallingConvention); \
|
||||
+ } \
|
||||
+ static MathThunk UnaryDoubleOpWrapper(function) = &function##Thunk;
|
||||
+
|
||||
#elif CPU(X86) && COMPILER(GCC) && (PLATFORM(MAC) || OS(LINUX))
|
||||
#define defineUnaryDoubleOpWrapper(function) \
|
||||
asm( \
|
||||
Reference in New Issue
Block a user