diff options
-rw-r--r-- | recipes-qt/qt5/qtscript/0001-javascriptcore-Use-64-bit-ints.patch | 58 | ||||
-rw-r--r-- | recipes-qt/qt5/qtscript_git.bb | 2 |
2 files changed, 60 insertions, 0 deletions
diff --git a/recipes-qt/qt5/qtscript/0001-javascriptcore-Use-64-bit-ints.patch b/recipes-qt/qt5/qtscript/0001-javascriptcore-Use-64-bit-ints.patch new file mode 100644 index 00000000..a083decf --- /dev/null +++ b/recipes-qt/qt5/qtscript/0001-javascriptcore-Use-64-bit-ints.patch | |||
@@ -0,0 +1,58 @@ | |||
1 | From 8fd53951d53ef8c5b62fe985665dad0545bb3161 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alistair Francis <alistair.francis@wdc.com> | ||
3 | Date: Mon, 4 Jun 2018 14:24:59 -0700 | ||
4 | Subject: [PATCH] javascriptcore: Use 64-bit ints | ||
5 | |||
6 | Where required use 64-bit integers for casts. | ||
7 | |||
8 | Signed-off-by: Alistair Francis <alistair.francis@wdc.com> | ||
9 | Upstream-Status: Pending | ||
10 | --- | ||
11 | .../JavaScriptCore/assembler/X86Assembler.h | 2 +- | ||
12 | .../javascriptcore/JavaScriptCore/runtime/JSValue.h | 8 ++++++++ | ||
13 | 2 files changed, 9 insertions(+), 1 deletion(-) | ||
14 | |||
15 | diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/assembler/X86Assembler.h b/src/3rdparty/javascriptcore/JavaScriptCore/assembler/X86Assembler.h | ||
16 | index ab3d05f..ed5965f 100644 | ||
17 | --- a/src/3rdparty/javascriptcore/JavaScriptCore/assembler/X86Assembler.h | ||
18 | +++ b/src/3rdparty/javascriptcore/JavaScriptCore/assembler/X86Assembler.h | ||
19 | @@ -2033,7 +2033,7 @@ private: | ||
20 | } | ||
21 | } | ||
22 | |||
23 | -#if !CPU(X86_64) | ||
24 | +#if CPU(X86) | ||
25 | void memoryModRM(int reg, void* address) | ||
26 | { | ||
27 | // noBase + ModRmMemoryNoDisp means noBase + ModRmMemoryDisp32! | ||
28 | diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSValue.h b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSValue.h | ||
29 | index 7584c52..958ac89 100644 | ||
30 | --- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSValue.h | ||
31 | +++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSValue.h | ||
32 | @@ -490,7 +490,11 @@ namespace JSC { | ||
33 | u.asBits.tag = CellTag; | ||
34 | else | ||
35 | u.asBits.tag = EmptyValueTag; | ||
36 | +#if CPU(X86) | ||
37 | u.asBits.payload = reinterpret_cast<int32_t>(ptr); | ||
38 | +#else | ||
39 | + u.asBits.payload = reinterpret_cast<int64_t>(ptr); | ||
40 | +#endif | ||
41 | #if ENABLE(JSC_ZOMBIES) | ||
42 | ASSERT(!isZombie()); | ||
43 | #endif | ||
44 | @@ -502,7 +506,11 @@ namespace JSC { | ||
45 | u.asBits.tag = CellTag; | ||
46 | else | ||
47 | u.asBits.tag = EmptyValueTag; | ||
48 | +#if CPU(X86) | ||
49 | u.asBits.payload = reinterpret_cast<int32_t>(const_cast<JSCell*>(ptr)); | ||
50 | +#else | ||
51 | + u.asBits.payload = reinterpret_cast<int64_t>(const_cast<JSCell*>(ptr)); | ||
52 | +#endif | ||
53 | #if ENABLE(JSC_ZOMBIES) | ||
54 | ASSERT(!isZombie()); | ||
55 | #endif | ||
56 | -- | ||
57 | 2.17.1 | ||
58 | |||
diff --git a/recipes-qt/qt5/qtscript_git.bb b/recipes-qt/qt5/qtscript_git.bb index 913d8c69..5c1e2e10 100644 --- a/recipes-qt/qt5/qtscript_git.bb +++ b/recipes-qt/qt5/qtscript_git.bb | |||
@@ -11,6 +11,8 @@ LIC_FILES_CHKSUM = " \ | |||
11 | file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ | 11 | file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ |
12 | " | 12 | " |
13 | 13 | ||
14 | SRC_URI += "file://0001-javascriptcore-Use-64-bit-ints.patch" | ||
15 | |||
14 | # qemuarm build fails with: | 16 | # qemuarm build fails with: |
15 | # /OE/build/oe-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/qtscript/5.4.1+gitAUTOINC+822df36f25-r0/git/src/3rdparty/javascriptcore/JavaScriptCore/assembler/AssemblerBuffer.h: In member function 'void QTJSC::AssemblerBuffer::putInt64Unchecked(int64_t)': | 17 | # /OE/build/oe-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/qtscript/5.4.1+gitAUTOINC+822df36f25-r0/git/src/3rdparty/javascriptcore/JavaScriptCore/assembler/AssemblerBuffer.h: In member function 'void QTJSC::AssemblerBuffer::putInt64Unchecked(int64_t)': |
16 | #/OE/build/oe-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/qtscript/5.4.1+gitAUTOINC+822df36f25-r0/git/src/3rdparty/javascriptcore/JavaScriptCore/assembler/AssemblerBuffer.h:106:58: warning: cast from 'char*' to 'int64_t* {aka long long int*}' increases required alignment of target type [-Wcast-align] | 18 | #/OE/build/oe-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/qtscript/5.4.1+gitAUTOINC+822df36f25-r0/git/src/3rdparty/javascriptcore/JavaScriptCore/assembler/AssemblerBuffer.h:106:58: warning: cast from 'char*' to 'int64_t* {aka long long int*}' increases required alignment of target type [-Wcast-align] |