xref: /OK3568_Linux_fs/yocto/meta-qt5/recipes-qt/qt5/qtwebkit/0009-Riscv-Add-support-for-riscv.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1From b5a58d2c001689b07591fdce8820773d57a74002 Mon Sep 17 00:00:00 2001
2From: Chenxi Mao <chenxi.mao2013@gmail.com>
3Date: Fri, 3 Apr 2020 08:33:10 +0800
4Subject: [PATCH 1/1] Riscv: Add support for riscv
5
6Upstream-Status: Pending
7Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
8---
9 CMakeLists.txt                       |  2 ++
10 Source/JavaScriptCore/CMakeLists.txt |  1 +
11 Source/WTF/wtf/Platform.h            | 12 ++++++++++--
12 Source/WTF/wtf/dtoa/utils.h          |  2 +-
13 4 files changed, 14 insertions(+), 3 deletions(-)
14
15diff --git a/CMakeLists.txt b/CMakeLists.txt
16index 31a2ea1fd..516476729 100644
17--- a/CMakeLists.txt
18+++ b/CMakeLists.txt
19@@ -83,6 +83,8 @@ elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390")
20     set(WTF_CPU_S390 1)
21 elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390x")
22     set(WTF_CPU_S390X 1)
23+elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64")
24+    set(WTF_CPU_RISCV64 1)
25 else ()
26     message(FATAL_ERROR "Unknown CPU '${LOWERCASE_CMAKE_SYSTEM_PROCESSOR}'")
27 endif ()
28diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt
29index 937b3ed00..2fff29f9d 100644
30--- a/Source/JavaScriptCore/CMakeLists.txt
31+++ b/Source/JavaScriptCore/CMakeLists.txt
32@@ -1286,6 +1286,7 @@ elseif (WTF_CPU_S390)
33 elseif (WTF_CPU_S390X)
34 elseif (WTF_CPU_MIPS)
35 elseif (WTF_CPU_SH4)
36+elseif (WTF_CPU_RISCV64)
37 elseif (WTF_CPU_X86)
38 elseif (WTF_CPU_X86_64)
39     if (MSVC AND ENABLE_JIT)
40diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
41index 5717f3ea1..8fac85f72 100644
42--- a/Source/WTF/wtf/Platform.h
43+++ b/Source/WTF/wtf/Platform.h
44@@ -349,7 +349,14 @@
45
46 #endif /* ARM */
47
48-#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ALPHA) || CPU(HPPA)
49+#if defined(__riscv)
50+#define WTF_CPU_RISCV 1
51+#if __riscv_xlen == 64
52+#define WTF_CPU_RISCV64 1
53+#endif
54+#endif
55+
56+#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ALPHA) || CPU(HPPA) || CPU(RISCV)
57 #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1
58 #endif
59
60@@ -707,7 +714,8 @@
61     || CPU(S390X) \
62     || CPU(MIPS64) \
63     || CPU(PPC64) \
64-    || CPU(PPC64LE)
65+    || CPU(PPC64LE) \
66+    || CPU(RISCV64)
67 #define USE_JSVALUE64 1
68 #else
69 #define USE_JSVALUE32_64 1
70diff --git a/Source/WTF/wtf/dtoa/utils.h b/Source/WTF/wtf/dtoa/utils.h
71index 05302e6e6..25dd352ee 100644
72--- a/Source/WTF/wtf/dtoa/utils.h
73+++ b/Source/WTF/wtf/dtoa/utils.h
74@@ -49,7 +49,7 @@
75 defined(__ARMEL__) || \
76 defined(_MIPS_ARCH_MIPS32R2)
77 #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
78-#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) || CPU(ARM)
79+#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) || CPU(ARM) || CPU(RISCV)
80 #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
81 #elif defined(_M_IX86) || defined(__i386__)
82 #if defined(_WIN32)
83--
842.17.1
85
86