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 <behlendorf1@llnl.gov> Signed-off-by: Windel Bouwman <windel@windel.nl> Closes #10335 Closes #13151
This commit is contained in:
parent
db7f1a91de
commit
9955b9ba2e
|
@ -95,7 +95,7 @@
|
||||||
#define _ALIGNMENT_REQUIRED 1
|
#define _ALIGNMENT_REQUIRED 1
|
||||||
|
|
||||||
/* arm arch specific defines */
|
/* arm arch specific defines */
|
||||||
#elif defined(__arm) || defined(__arm__) || defined(__aarch64__)
|
#elif defined(__arm) || defined(__arm__)
|
||||||
|
|
||||||
#if !defined(__arm)
|
#if !defined(__arm)
|
||||||
#define __arm
|
#define __arm
|
||||||
|
@ -105,17 +105,11 @@
|
||||||
#define __arm__
|
#define __arm__
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__aarch64__)
|
|
||||||
#if !defined(_LP64)
|
|
||||||
#define _LP64
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
#if !defined(_ILP32)
|
#if !defined(_ILP32)
|
||||||
#define _ILP32
|
#define _ILP32
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(__ARMEL__) || defined(__AARCH64EL__)
|
#if defined(__ARMEL__)
|
||||||
#define _ZFS_LITTLE_ENDIAN
|
#define _ZFS_LITTLE_ENDIAN
|
||||||
#else
|
#else
|
||||||
#define _ZFS_BIG_ENDIAN
|
#define _ZFS_BIG_ENDIAN
|
||||||
|
@ -127,6 +121,19 @@
|
||||||
*/
|
*/
|
||||||
#define _ALIGNMENT_REQUIRED 1
|
#define _ALIGNMENT_REQUIRED 1
|
||||||
|
|
||||||
|
/* 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
|
||||||
|
|
||||||
/* sparc arch specific defines */
|
/* sparc arch specific defines */
|
||||||
#elif defined(__sparc) || defined(__sparc__)
|
#elif defined(__sparc) || defined(__sparc__)
|
||||||
|
|
||||||
|
|
|
@ -126,7 +126,7 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* arm arch specific defines */
|
/* arm arch specific defines */
|
||||||
#elif defined(__arm) || defined(__arm__) || defined(__aarch64__)
|
#elif defined(__arm) || defined(__arm__)
|
||||||
|
|
||||||
#if !defined(__arm)
|
#if !defined(__arm)
|
||||||
#define __arm
|
#define __arm
|
||||||
|
@ -136,17 +136,11 @@ extern "C" {
|
||||||
#define __arm__
|
#define __arm__
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__aarch64__)
|
|
||||||
#if !defined(_LP64)
|
|
||||||
#define _LP64
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
#if !defined(_ILP32)
|
#if !defined(_ILP32)
|
||||||
#define _ILP32
|
#define _ILP32
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(__ARMEL__) || defined(__AARCH64EL__)
|
#if defined(__ARMEL__)
|
||||||
#define _ZFS_LITTLE_ENDIAN
|
#define _ZFS_LITTLE_ENDIAN
|
||||||
#else
|
#else
|
||||||
#define _ZFS_BIG_ENDIAN
|
#define _ZFS_BIG_ENDIAN
|
||||||
|
@ -158,6 +152,21 @@ extern "C" {
|
||||||
#define HAVE_EFFICIENT_UNALIGNED_ACCESS
|
#define HAVE_EFFICIENT_UNALIGNED_ACCESS
|
||||||
#endif
|
#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 */
|
/* sparc arch specific defines */
|
||||||
#elif defined(__sparc) || defined(__sparc__)
|
#elif defined(__sparc) || defined(__sparc__)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue