libspl: Fix incorrect use of platform defines on sparc64
libspl tries to detect sparc64 by checking whether __sparc64__ is defined. Unfortunately, this assumption is not correct as sparc64 does not define __sparc64__ but it defines __sparc__ and __arch64__ instead. This leads to sparc64 being detected as 32-Bit sparc and the build fails because both _ILP32 and _LP64 are defined in this case. To fix the problem, remove the checks for __sparc64__ and just check __arch64__ if a sparc host was previously detected with __sparc__. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> Closes #5913
This commit is contained in:
parent
64fc776208
commit
d48be524ce
|
@ -130,7 +130,7 @@ extern "C" {
|
||||||
#define _SUNOS_VTOC_16
|
#define _SUNOS_VTOC_16
|
||||||
|
|
||||||
/* sparc arch specific defines */
|
/* sparc arch specific defines */
|
||||||
#elif defined(__sparc) || defined(__sparc__) || defined(__sparc64__)
|
#elif defined(__sparc) || defined(__sparc__)
|
||||||
|
|
||||||
#if !defined(__sparc)
|
#if !defined(__sparc)
|
||||||
#define __sparc
|
#define __sparc
|
||||||
|
@ -143,7 +143,7 @@ extern "C" {
|
||||||
#define _BIG_ENDIAN
|
#define _BIG_ENDIAN
|
||||||
#define _SUNOS_VTOC_16
|
#define _SUNOS_VTOC_16
|
||||||
|
|
||||||
#if defined(__sparc64__)
|
#if defined(__arch64__)
|
||||||
#if !defined(_LP64)
|
#if !defined(_LP64)
|
||||||
#define _LP64
|
#define _LP64
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue