aboutsummaryrefslogtreecommitdiffstats
path: root/lib/libspl
diff options
context:
space:
mode:
authorWindel Bouwman <[email protected]>2022-03-08 02:49:34 +0100
committerGitHub <[email protected]>2022-03-07 17:49:34 -0800
commit9955b9ba2efafeeb88ccb4c4ab5707ef2974fb47 (patch)
tree4d8829167692776cb7e81f9a86bc0cccd3f21283 /lib/libspl
parentdb7f1a91def6bbaf72dd3e9ad31255efb0bf81ab (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.h25
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__)