linamh/dev-qt/qtwebkit/files/loongarch64.diff
2025-09-18 11:05:51 +02:00

60 lines
2.1 KiB
Diff

Description: add loongarch64 support
Author: Dandan Zhang <zhangdandan@loongson.cn>
Forwarded: https://github.com/qtwebkit/qtwebkit/pull/1096
Last-Update: 2024-03-09
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -85,6 +85,8 @@ elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR
set(WTF_CPU_S390X 1)
elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64")
set(WTF_CPU_RISCV64 1)
+elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^loongarch64")
+ set(WTF_CPU_LOONGARCH64 1)
else ()
message(FATAL_ERROR "Unknown CPU '${LOWERCASE_CMAKE_SYSTEM_PROCESSOR}'")
endif ()
--- a/Source/JavaScriptCore/CMakeLists.txt
+++ b/Source/JavaScriptCore/CMakeLists.txt
@@ -1280,6 +1280,7 @@ if (WTF_CPU_ARM)
elseif (WTF_CPU_ARM64)
elseif (WTF_CPU_ALPHA)
elseif (WTF_CPU_HPPA)
+elseif (WTF_CPU_LOONGARCH64)
elseif (WTF_CPU_PPC)
elseif (WTF_CPU_PPC64)
elseif (WTF_CPU_PPC64LE)
--- a/Source/WTF/wtf/Platform.h
+++ b/Source/WTF/wtf/Platform.h
@@ -103,6 +103,11 @@
#define USE_ARENA_ALLOC_ALIGNMENT_INTEGER 1
#endif /* MIPS */
+/* CPU(LOONGARCH64) - LoongArch 64-bit */
+#if defined(__loongarch64)
+#define WTF_CPU_LOONGARCH64 1
+#endif
+
/* CPU(PPC64) - PowerPC 64-bit Big Endian */
#if ( defined(__ppc64__) \
|| defined(__PPC64__)) \
@@ -711,6 +716,7 @@
|| CPU(ARM64) \
|| CPU(S390X) \
|| CPU(MIPS64) \
+ || CPU(LOONGARCH64) \
|| CPU(PPC64) \
|| CPU(PPC64LE) \
|| CPU(RISCV64)
--- 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(RISCV64)
+#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(RISCV64) || CPU(LOONGARCH64)
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
#elif defined(_M_IX86) || defined(__i386__)
#if defined(_WIN32)