diff options
author | drh <> | 2023-09-04 12:50:17 +0000 |
---|---|---|
committer | drh <> | 2023-09-04 12:50:17 +0000 |
commit | 25a6e6ec8bbcc1b0590625b3ecd563268f9e1154 (patch) | |
tree | 655b193e7869d78b2b2a6ff0faaf87d5702cf011 /src | |
parent | d3c5471a9a0364271ccf6b1c0434f2647627afc3 (diff) | |
download | sqlite-25a6e6ec8bbcc1b0590625b3ecd563268f9e1154.tar.gz sqlite-25a6e6ec8bbcc1b0590625b3ecd563268f9e1154.zip |
Do not make assumptions about the byteorder of PowerPC processors.
FossilOrigin-Name: 4a2498fed4c5436fbcd4179db85e2741fdab37d42b0eebf12f41ec4573ce2c61
Diffstat (limited to 'src')
-rw-r--r-- | src/sqliteInt.h | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/src/sqliteInt.h b/src/sqliteInt.h index c2a9f855a..03a8a1a90 100644 --- a/src/sqliteInt.h +++ b/src/sqliteInt.h @@ -923,16 +923,33 @@ typedef INT16_TYPE LogEst; ** using C-preprocessor macros. If that is unsuccessful, or if ** -DSQLITE_BYTEORDER=0 is set, then byte-order is determined ** at run-time. +** +** If you are building SQLite on some obscure platform for which the +** following ifdef magic does not work, you can always include either: +** +** -DSQLITE_BYTEORDER=1234 +** +** or +** +** -DSQLITE_BYTEORDER=4321 +** +** to cause the build to work for little-endian or big-endian processors, +** respectively. */ -#ifndef SQLITE_BYTEORDER -# if defined(i386) || defined(__i386__) || defined(_M_IX86) || \ +#ifndef SQLITE_BYTEORDER /* Replicate changes at tag-20230904a */ +# if defined(__BYTE_ORDER__) && __BYTE_ORDER__==__ORDER_BIG_ENDIAN__ +# define SQLITE_BYTEORDER 4321 +# elif defined(__BYTE_ORDER__) && __BYTE_ORDER__==__ORDER_LITTLE_ENDIAN__ +# define SQLITE_BYTEORDER 1234 +# elif defined(__BIG_ENDIAN__) && __BIG_ENDIAN__==1 +# define SQLITE_BYTEORDER 4321 +# 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) -# define SQLITE_BYTEORDER 1234 -# elif defined(sparc) || defined(__ppc__) || \ - defined(__ARMEB__) || defined(__AARCH64EB__) -# define SQLITE_BYTEORDER 4321 +# define SQLITE_BYTEORDER 1234 +# elif defined(sparc) || defined(__ARMEB__) || defined(__AARCH64EB__) +# define SQLITE_BYTEORDER 4321 # else # define SQLITE_BYTEORDER 0 # endif |