diff options
author | Andre McCurdy <armccurdy@gmail.com> | 2015-02-17 22:22:12 -0800 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2015-02-19 15:55:39 +0100 |
commit | a137e6e8b45f11c77f6615cfa6ff50d025669b11 (patch) | |
tree | 8208bce1bb49bf6793934b73a637f830a580cdd9 /recipes-qt/qt5/qtwebkit | |
parent | d9c741cce23ed6ff741ed67b77f57e04e5b440b8 (diff) |
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>
Diffstat (limited to 'recipes-qt/qt5/qtwebkit')
-rw-r--r-- | recipes-qt/qt5/qtwebkit/0002-qtwebkit-fix-textrel-x86.patch | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/recipes-qt/qt5/qtwebkit/0002-qtwebkit-fix-textrel-x86.patch b/recipes-qt/qt5/qtwebkit/0002-qtwebkit-fix-textrel-x86.patch new file mode 100644 index 00000000..e5f1538d --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0002-qtwebkit-fix-textrel-x86.patch @@ -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( \ |