diff options
author | Windel Bouwman <[email protected]> | 2022-03-08 02:49:34 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2022-03-07 17:49:34 -0800 |
commit | 9955b9ba2efafeeb88ccb4c4ab5707ef2974fb47 (patch) | |
tree | 4d8829167692776cb7e81f9a86bc0cccd3f21283 /lib/libspl | |
parent | db7f1a91def6bbaf72dd3e9ad31255efb0bf81ab (diff) |
Handle aarch64 defines seperate from arm
aarch64 is a different architecture than arm. Some
compilers might choke when both __arm__ and __aarch64__
are defined.
This change separates the checks for arm and for
aarch64 in the isa_defs.h header files.
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Windel Bouwman <[email protected]>
Closes #10335
Closes #13151
Diffstat (limited to 'lib/libspl')
-rw-r--r-- | lib/libspl/include/sys/isa_defs.h | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/lib/libspl/include/sys/isa_defs.h b/lib/libspl/include/sys/isa_defs.h index 8c0932f57..3922445db 100644 --- a/lib/libspl/include/sys/isa_defs.h +++ b/lib/libspl/include/sys/isa_defs.h @@ -126,7 +126,7 @@ extern "C" { #endif /* arm arch specific defines */ -#elif defined(__arm) || defined(__arm__) || defined(__aarch64__) +#elif defined(__arm) || defined(__arm__) #if !defined(__arm) #define __arm @@ -136,17 +136,11 @@ extern "C" { #define __arm__ #endif -#if defined(__aarch64__) -#if !defined(_LP64) -#define _LP64 -#endif -#else #if !defined(_ILP32) #define _ILP32 #endif -#endif -#if defined(__ARMEL__) || defined(__AARCH64EL__) +#if defined(__ARMEL__) #define _ZFS_LITTLE_ENDIAN #else #define _ZFS_BIG_ENDIAN @@ -158,6 +152,21 @@ extern "C" { #define HAVE_EFFICIENT_UNALIGNED_ACCESS #endif +/* aarch64 arch specific defines */ +#elif defined(__aarch64__) + +#if !defined(_LP64) +#define _LP64 +#endif + +#if defined(__AARCH64EL__) +#define _ZFS_LITTLE_ENDIAN +#else +#define _ZFS_BIG_ENDIAN +#endif + +#define _SUNOS_VTOC_16 + /* sparc arch specific defines */ #elif defined(__sparc) || defined(__sparc__) |