53 lines
2.6 KiB
Diff
53 lines
2.6 KiB
Diff
Patch-Source: https://github.com/chimera-linux/cports/blob/0b7b1b1/contrib/firefox/patches/sqlite-ppc.patch
|
|
From 67157b1aa7da0a146b7d2d5abb9237eea1f434ec Mon Sep 17 00:00:00 2001
|
|
From: Daniel Kolesa <daniel@octaforge.org>
|
|
Date: Fri, 23 Sep 2022 02:38:29 +0200
|
|
Subject: [PATCH] fix sqlite3 on ppc with clang
|
|
|
|
The __ppc__ macro is always defined on clang but not gcc, which
|
|
results in sqlite mistakenly thinking that ppc64le with clang
|
|
is big endian.
|
|
|
|
Also disable some inline assembly stuff on ppc that is never used
|
|
with gcc and probably was never tested with modern machines.
|
|
---
|
|
third_party/sqlite3/src/sqlite3.c | 10 +++++-----
|
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/third_party/sqlite3/src/sqlite3.c b/third_party/sqlite3/src/sqlite3.c
|
|
index dd3b5c5..7339893 100644
|
|
--- a/third_party/sqlite3/src/sqlite3.c
|
|
+++ b/third_party/sqlite3/src/sqlite3.c
|
|
@@ -14875,9 +14875,9 @@ typedef INT16_TYPE LogEst;
|
|
# elif defined(i386) || defined(__i386__) || defined(_M_IX86) || \
|
|
defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || \
|
|
defined(_M_AMD64) || defined(_M_ARM) || defined(__x86) || \
|
|
- defined(__ARMEL__) || defined(__AARCH64EL__) || defined(_M_ARM64)
|
|
+ defined(__ARMEL__) || defined(__AARCH64EL__) || defined(_M_ARM64) || defined(__LITTLE_ENDIAN__)
|
|
# define SQLITE_BYTEORDER 1234
|
|
-# elif defined(sparc) || defined(__ARMEB__) || defined(__AARCH64EB__)
|
|
+# elif defined(sparc) || defined(__ARMEB__) || defined(__AARCH64EB__) || defined(__BIG_ENDIAN__)
|
|
# define SQLITE_BYTEORDER 4321
|
|
# else
|
|
# define SQLITE_BYTEORDER 0
|
|
@@ -35670,7 +35670,7 @@ SQLITE_PRIVATE int sqlite3VListNameToNum(VList *pIn, const char *zName, int nNam
|
|
return (sqlite_uint64)hi << 32 | lo;
|
|
}
|
|
|
|
-#elif !defined(__STRICT_ANSI__) && (defined(__GNUC__) && defined(__ppc__))
|
|
+#elif 0
|
|
|
|
__inline__ sqlite_uint64 sqlite3Hwtime(void){
|
|
unsigned long long retval;
|
|
@@ -207003,9 +207003,9 @@ struct RtreeMatchArg {
|
|
# elif defined(i386) || defined(__i386__) || defined(_M_IX86) || \
|
|
defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || \
|
|
defined(_M_AMD64) || defined(_M_ARM) || defined(__x86) || \
|
|
- defined(__ARMEL__) || defined(__AARCH64EL__) || defined(_M_ARM64)
|
|
+ defined(__ARMEL__) || defined(__AARCH64EL__) || defined(_M_ARM64) || defined(__LITTLE_ENDIAN__)
|
|
# define SQLITE_BYTEORDER 1234
|
|
-# elif defined(sparc) || defined(__ARMEB__) || defined(__AARCH64EB__)
|
|
+# elif defined(sparc) || defined(__ARMEB__) || defined(__AARCH64EB__) || defined(__BIG_ENDIAN__)
|
|
# define SQLITE_BYTEORDER 4321
|
|
# else
|
|
# define SQLITE_BYTEORDER 0
|