|
@@ -0,0 +1,85 @@
|
|
|
+From ae16ce17cc7060274a0b0c165b953fc32540f977 Mon Sep 17 00:00:00 2001
|
|
|
+From: Magnus Granberg <zorry@gentoo.org>
|
|
|
+Date: Fri, 27 Feb 2015 11:55:09 +0100
|
|
|
+Subject: [PATCH] Remove TEXTREL tag in x86
|
|
|
+
|
|
|
+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
|
|
|
+
|
|
|
+Bug: https://bugs.webkit.org/show_bug.cgi?id=70610
|
|
|
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
|
|
+
|
|
|
+Downloaded from:
|
|
|
+https://github.com/meta-qt5/meta-qt5/blob/krogoth/recipes-qt/qt5/qtwebkit/
|
|
|
+0002-Remove-TEXTREL-tag-in-x86.patch
|
|
|
+
|
|
|
+Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
|
|
|
+---
|
|
|
+ Source/JavaScriptCore/jit/ThunkGenerators.cpp | 24 ++++++++++++++++++++++++
|
|
|
+ Source/WTF/wtf/InlineASM.h | 2 ++
|
|
|
+ 2 files changed, 26 insertions(+)
|
|
|
+
|
|
|
+diff --git a/Source/JavaScriptCore/jit/ThunkGenerators.cpp b/Source/JavaScriptCore/jit/ThunkGenerators.cpp
|
|
|
+index 9684df2..8af82d8 100644
|
|
|
+--- a/Source/JavaScriptCore/jit/ThunkGenerators.cpp
|
|
|
++++ b/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( \
|
|
|
+diff --git a/Source/WTF/wtf/InlineASM.h b/Source/WTF/wtf/InlineASM.h
|
|
|
+index 0a2fe78..2dc40ef 100644
|
|
|
+--- a/Source/WTF/wtf/InlineASM.h
|
|
|
++++ b/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
|
|
|
+--
|
|
|
+2.7.0
|
|
|
+
|