| 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 |
| |