diff options
Diffstat (limited to 'recipes-qt/qt5/qtwebkit/0002-qtwebkit-fix-textrel-x86.patch')
-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 @@ | |||
1 | Fix textrel QA warnings when building qtwebkit for x86: | ||
2 | |||
3 | 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] | ||
4 | |||
5 | Patch from upstream webkit: | ||
6 | |||
7 | https://bugs.webkit.org/show_bug.cgi?id=70610 | ||
8 | |||
9 | Minor refresh required to apply cleanly to the older webkit sources used | ||
10 | by qtwebkit. Specifically, the patch needed to be modified to account | ||
11 | for PLATFORM(MAC) -> OS(DARWIN) renaming in recent webkit which is not | ||
12 | part of qtwebkit yet ( https://bugs.webkit.org/show_bug.cgi?id=99683 ). | ||
13 | |||
14 | Upstream status [webkit] : backport | ||
15 | Upstream status [qtwebkit] : unclear | ||
16 | |||
17 | |||
18 | From: Magnus Granberg <zorry@gentoo.org> | ||
19 | Subject: Remove TEXTREL tag in x86 | ||
20 | Bug: https://bugs.webkit.org/show_bug.cgi?id=70610 | ||
21 | Index: webkitgtk/Source/WTF/wtf/InlineASM.h | ||
22 | =================================================================== | ||
23 | --- webkitgtk.orig/Source/WTF/wtf/InlineASM.h | ||
24 | +++ webkitgtk/Source/WTF/wtf/InlineASM.h | ||
25 | @@ -46,6 +46,8 @@ | ||
26 | #define GLOBAL_REFERENCE(name) #name "@plt" | ||
27 | #elif CPU(X86) && COMPILER(MINGW) | ||
28 | #define GLOBAL_REFERENCE(name) "@" #name "@4" | ||
29 | +#elif OS(LINUX) && CPU(X86) && defined(__PIC__) | ||
30 | +#define GLOBAL_REFERENCE(name) SYMBOL_STRING(name) "@plt" | ||
31 | #else | ||
32 | #define GLOBAL_REFERENCE(name) SYMBOL_STRING(name) | ||
33 | #endif | ||
34 | Index: webkitgtk/Source/JavaScriptCore/jit/ThunkGenerators.cpp | ||
35 | =================================================================== | ||
36 | --- webkitgtk.orig/Source/JavaScriptCore/jit/ThunkGenerators.cpp | ||
37 | +++ webkitgtk/Source/JavaScriptCore/jit/ThunkGenerators.cpp | ||
38 | @@ -524,6 +524,30 @@ double jsRound(double d) | ||
39 | } \ | ||
40 | static MathThunk UnaryDoubleOpWrapper(function) = &function##Thunk; | ||
41 | |||
42 | +#elif CPU(X86) && COMPILER(GCC) && OS(LINUX) && defined(__PIC__) | ||
43 | +#define defineUnaryDoubleOpWrapper(function) \ | ||
44 | + asm( \ | ||
45 | + ".text\n" \ | ||
46 | + ".globl " SYMBOL_STRING(function##Thunk) "\n" \ | ||
47 | + HIDE_SYMBOL(function##Thunk) "\n" \ | ||
48 | + SYMBOL_STRING(function##Thunk) ":" "\n" \ | ||
49 | + "pushl %ebx\n" \ | ||
50 | + "subl $20, %esp\n" \ | ||
51 | + "movsd %xmm0, (%esp) \n" \ | ||
52 | + "call __x86.get_pc_thunk.bx\n" \ | ||
53 | + "addl $_GLOBAL_OFFSET_TABLE_, %ebx\n" \ | ||
54 | + "call " GLOBAL_REFERENCE(function) "\n" \ | ||
55 | + "fstpl (%esp) \n" \ | ||
56 | + "movsd (%esp), %xmm0 \n" \ | ||
57 | + "addl $20, %esp\n" \ | ||
58 | + "popl %ebx\n" \ | ||
59 | + "ret\n" \ | ||
60 | + );\ | ||
61 | + extern "C" { \ | ||
62 | + MathThunkCallingConvention function##Thunk(MathThunkCallingConvention); \ | ||
63 | + } \ | ||
64 | + static MathThunk UnaryDoubleOpWrapper(function) = &function##Thunk; | ||
65 | + | ||
66 | #elif CPU(X86) && COMPILER(GCC) && (PLATFORM(MAC) || OS(LINUX)) | ||
67 | #define defineUnaryDoubleOpWrapper(function) \ | ||
68 | asm( \ | ||