1From 8da574cf8f30f69e47f76705aa2eb07000540aeb Mon Sep 17 00:00:00 2001 2From: Alexey Brodkin <abrodkin@synopsys.com> 3Date: Mon, 21 Feb 2022 18:28:00 +0300 4Subject: [PATCH] Add support for ARC processors 5 6Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> 7--- 8 CMakeLists.txt | 4 +++- 9 Source/JavaScriptCore/CMakeLists.txt | 3 ++- 10 Source/WTF/wtf/Platform.h | 8 ++++++++ 11 Source/WTF/wtf/dtoa/utils.h | 2 +- 12 Source/cmake/OptionsQt.cmake | 4 ++++ 13 5 files changed, 18 insertions(+), 3 deletions(-) 14 15diff --git a/CMakeLists.txt b/CMakeLists.txt 16index 31a2ea1fd..f0dfbda5b 100644 17--- a/CMakeLists.txt 18+++ b/CMakeLists.txt 19@@ -57,7 +57,9 @@ if (MSVC_CXX_ARCHITECTURE_ID) 20 else () 21 string(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} LOWERCASE_CMAKE_SYSTEM_PROCESSOR) 22 endif () 23-if (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^arm") 24+if (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^arc") 25+ set(WTF_CPU_ARC 1) 26+elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^arm") 27 set(WTF_CPU_ARM 1) 28 elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64") 29 set(WTF_CPU_ARM64 1) 30diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt 31index 937b3ed00..205dde288 100644 32--- a/Source/JavaScriptCore/CMakeLists.txt 33+++ b/Source/JavaScriptCore/CMakeLists.txt 34@@ -1275,7 +1275,8 @@ if (ENABLE_WEB_REPLAY) 35 list(APPEND JavaScriptCore_HEADERS ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSReplayInputs.h) 36 endif () 37 38-if (WTF_CPU_ARM) 39+if (WTF_CPU_ARC) 40+elseif (WTF_CPU_ARM) 41 elseif (WTF_CPU_ARM64) 42 elseif (WTF_CPU_ALPHA) 43 elseif (WTF_CPU_HPPA) 44diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h 45index 5717f3ea1..b327ed693 100644 46--- a/Source/WTF/wtf/Platform.h 47+++ b/Source/WTF/wtf/Platform.h 48@@ -349,6 +349,14 @@ 49 50 #endif /* ARM */ 51 52+/* CPU(ARC) - ARC */ 53+#if defined(__arc__) 54+#define WTF_CPU_ARC 1 55+#if defined(__BIG_ENDIAN__) 56+#define WTF_CPU_BIG_ENDIAN 1 57+#endif 58+#endif 59+ 60 #if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ALPHA) || CPU(HPPA) 61 #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1 62 #endif 63diff --git a/Source/WTF/wtf/dtoa/utils.h b/Source/WTF/wtf/dtoa/utils.h 64index 889642cee..8f1e9933e 100644 65--- a/Source/WTF/wtf/dtoa/utils.h 66+++ b/Source/WTF/wtf/dtoa/utils.h 67@@ -49,7 +49,7 @@ 68 defined(__ARMEL__) || \ 69 defined(_MIPS_ARCH_MIPS32R2) 70 #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 71-#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) 72+#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(ARC) 73 #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 74 #elif defined(_M_IX86) || defined(__i386__) 75 #if defined(_WIN32) 76diff --git a/Source/cmake/OptionsQt.cmake b/Source/cmake/OptionsQt.cmake 77index ec6081de0..e1a5efc1e 100644 78--- a/Source/cmake/OptionsQt.cmake 79+++ b/Source/cmake/OptionsQt.cmake 80@@ -365,6 +365,10 @@ if (MINGW AND CMAKE_SIZEOF_VOID_P EQUAL 8) 81 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_JIT PRIVATE OFF) 82 endif () 83 84+if (WTF_CPU_ARC) 85+ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_JIT PRIVATE OFF) 86+endif () 87+ 88 WEBKIT_OPTION_CONFLICT(USE_GSTREAMER USE_QT_MULTIMEDIA) 89 WEBKIT_OPTION_CONFLICT(USE_GSTREAMER USE_MEDIA_FOUNDATION) 90 WEBKIT_OPTION_CONFLICT(USE_QT_MULTIMEDIA USE_MEDIA_FOUNDATION) 91-- 922.25.1 93 94