add loongarch64 and sw_64 support

(cherry picked from commit 21fc69b329c8be773ba8b3a761f8702ab2472378)
This commit is contained in:
panchenbo 2023-08-12 09:57:11 +08:00 committed by openeuler-sync-bot
parent ff14a680fc
commit d28fa251e3
3 changed files with 176 additions and 3 deletions

View File

@ -0,0 +1,79 @@
From f391fa67112da31da7b6ce0011cecadbee29bedb Mon Sep 17 00:00:00 2001
From: Wenlong Zhang <zhangwenlong@loongson.cn>
Date: Tue, 13 Dec 2022 01:30:55 +0000
Subject: [PATCH] add loongarch support for qtwebkit
---
CMakeLists.txt | 2 ++
Source/JavaScriptCore/CMakeLists.txt | 1 +
Source/WTF/wtf/Platform.h | 7 ++++++-
Source/WTF/wtf/dtoa/utils.h | 2 +-
4 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index db54eb4..0acb7ba 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -88,6 +88,8 @@ elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390")
set(WTF_CPU_S390 1)
elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390x")
set(WTF_CPU_S390X 1)
+elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "loongarch64")
+ set(WTF_CPU_LOONGARCH64 1)
else ()
message(FATAL_ERROR "Unknown CPU '${LOWERCASE_CMAKE_SYSTEM_PROCESSOR}'")
endif ()
diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt
index afd76ca..4d6a72b 100644
--- a/Source/JavaScriptCore/CMakeLists.txt
+++ b/Source/JavaScriptCore/CMakeLists.txt
@@ -1288,6 +1288,7 @@ elseif (WTF_CPU_S390X)
elseif (WTF_CPU_MIPS)
elseif (WTF_CPU_SH4)
elseif (WTF_CPU_X86)
+elseif (WTF_CPU_LOONGARCH64)
elseif (WTF_CPU_X86_64)
if (MSVC AND ENABLE_JIT)
add_custom_command(
diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
index 5717f3e..76f4262 100644
--- a/Source/WTF/wtf/Platform.h
+++ b/Source/WTF/wtf/Platform.h
@@ -166,7 +166,11 @@
#if defined(__SSE2__) || (defined(_M_IX86_FP) && _M_IX86_FP >= 2)
#define WTF_CPU_X86_SSE2 1
#endif
+#endif
+/* CPU(LOONGARCH64) - LOONGARCH64 */
+#if defined(__loongarch64)
+#define WTF_CPU_LOONGARCH64 1
#endif
/* CPU(X86_64) - AMD64 / Intel64 / x86_64 64-bit */
@@ -707,7 +711,8 @@
|| CPU(S390X) \
|| CPU(MIPS64) \
|| CPU(PPC64) \
- || CPU(PPC64LE)
+ || CPU(PPC64LE) \
+ || CPU(LOONGARCH64)
#define USE_JSVALUE64 1
#else
#define USE_JSVALUE32_64 1
diff --git a/Source/WTF/wtf/dtoa/utils.h b/Source/WTF/wtf/dtoa/utils.h
index 889642c..a90287d 100644
--- a/Source/WTF/wtf/dtoa/utils.h
+++ b/Source/WTF/wtf/dtoa/utils.h
@@ -49,7 +49,7 @@
defined(__ARMEL__) || \
defined(_MIPS_ARCH_MIPS32R2)
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
-#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)
+#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(LOONGARCH64)
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
#elif defined(_M_IX86) || defined(__i386__)
#if defined(_WIN32)
--
2.33.0

View File

@ -0,0 +1,89 @@
From 72aea97f4459c22743fccb9a8d38ad12a34eab8d Mon Sep 17 00:00:00 2001
From: yangchenguang <yangchenguang@kylinsec.com.cn>
Date: Tue, 20 Jun 2023 09:42:42 +0800
Subject: [PATCH] Add sw_64 support
Signed-off-by: yangchenguang <yangchenguang@kylinsec.com.cn>
---
CMakeLists.txt | 2 ++
Source/JavaScriptCore/CMakeLists.txt | 1 +
Source/WTF/wtf/Platform.h | 10 ++++++++--
Source/WTF/wtf/dtoa/utils.h | 2 +-
4 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0acb7ba..ee00d2d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -90,6 +90,8 @@ elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390x")
set(WTF_CPU_S390X 1)
elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "loongarch64")
set(WTF_CPU_LOONGARCH64 1)
+elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "sw_64")
+ set(WTF_CPU_SW_64 1)
else ()
message(FATAL_ERROR "Unknown CPU '${LOWERCASE_CMAKE_SYSTEM_PROCESSOR}'")
endif ()
diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt
index 4d6a72b..22d4cf0 100644
--- a/Source/JavaScriptCore/CMakeLists.txt
+++ b/Source/JavaScriptCore/CMakeLists.txt
@@ -1289,6 +1289,7 @@ elseif (WTF_CPU_MIPS)
elseif (WTF_CPU_SH4)
elseif (WTF_CPU_X86)
elseif (WTF_CPU_LOONGARCH64)
+elseif (WTF_CPU_SW_64)
elseif (WTF_CPU_X86_64)
if (MSVC AND ENABLE_JIT)
add_custom_command(
diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
index 76f4262..e784d6c 100644
--- a/Source/WTF/wtf/Platform.h
+++ b/Source/WTF/wtf/Platform.h
@@ -173,6 +173,11 @@
#define WTF_CPU_LOONGARCH64 1
#endif
+/* CPU(SW_64) - SW64 */
+#if defined(__sw_64__)
+#define WTF_CPU_SW_64 1
+#endif
+
/* CPU(X86_64) - AMD64 / Intel64 / x86_64 64-bit */
#if defined(__x86_64__) \
|| defined(_M_X64)
@@ -353,7 +358,7 @@
#endif /* ARM */
-#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ALPHA) || CPU(HPPA)
+#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ALPHA) || CPU(HPPA) || CPU(SW_64)
#define WTF_CPU_NEEDS_ALIGNED_ACCESS 1
#endif
@@ -712,7 +717,8 @@
|| CPU(MIPS64) \
|| CPU(PPC64) \
|| CPU(PPC64LE) \
- || CPU(LOONGARCH64)
+ || CPU(LOONGARCH64) \
+ || CPU(SW_64)
#define USE_JSVALUE64 1
#else
#define USE_JSVALUE32_64 1
diff --git a/Source/WTF/wtf/dtoa/utils.h b/Source/WTF/wtf/dtoa/utils.h
index a90287d..97978d6 100644
--- a/Source/WTF/wtf/dtoa/utils.h
+++ b/Source/WTF/wtf/dtoa/utils.h
@@ -49,7 +49,7 @@
defined(__ARMEL__) || \
defined(_MIPS_ARCH_MIPS32R2)
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
-#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(LOONGARCH64)
+#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(LOONGARCH64) || CPU(SW_64)
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
#elif defined(_M_IX86) || defined(__i386__)
#if defined(_WIN32)
--
2.33.0

View File

@ -16,7 +16,7 @@
Name: qt5-%{qt_module}
Version: 5.212.0
Release: 6
Release: 7
Summary: Qt5 - QtWebKit components
License: LGPLv2 and BSD
@ -28,6 +28,8 @@ Patch2: qtwebkit-5.212.0_cmake_cmp0071.patch
Patch3: fix_build_with_bison.patch
Patch4: fix_build_with_glib2_68.patch
Patch5: 0001-fix-TRUE-and-FALSE-was-not-declared.patch
Patch1000: 1000-add-loongarch-support-not-upstream-modified-files.patch
Patch1001: 1001-add-sw_64-support-not-upstream-modified-files.patch
BuildRequires: bison
BuildRequires: cmake
@ -153,10 +155,10 @@ cmake . \
-DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \
-DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
%ifarch s390 s390x ppc %{power64}
%ifarch s390 s390x ppc %{power64} loongarch64 sw_64
-DENABLE_JIT=OFF \
%endif
%ifarch s390 s390x ppc %{power64}
%ifarch s390 s390x ppc %{power64} loongarch64 sw_64
-DUSE_SYSTEM_MALLOC=ON \
%endif
%{?docs:-DGENERATE_DOCUMENTATION=ON} \
@ -235,6 +237,9 @@ test -z "$(pkg-config --cflags Qt5WebKit | grep Qt5WebKit)"
%changelog
* Sat Aug 12 2023 panchenbo <panchenbo@kylinsec.com.cn> - 5.212.0-7
- add loongarch64 and sw_64 support
* Thu Jan 13 2022 Ge Wang <wangge20@huawei.com> - 5.212.0-6
- fix build fail due to json.load dose not surport pramam encoding