Correctly handle the x32 ABI

__x86_64__ && _ILP32 => don't forcibly define _LP64

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@gmail.com>
Closes #10357
Closes #844
This commit is contained in:
наб 2020-05-18 00:00:49 +02:00 committed by Brian Behlendorf
parent 50ff632787
commit 6059f3a1f6
2 changed files with 10 additions and 2 deletions

View File

@ -40,9 +40,13 @@
#define __x86 #define __x86
#endif #endif
#if defined(_ILP32)
/* x32-specific defines; careful to *not* define _LP64 here */
#else
#if !defined(_LP64) #if !defined(_LP64)
#define _LP64 #define _LP64
#endif #endif
#endif
#define _ALIGNMENT_REQUIRED 1 #define _ALIGNMENT_REQUIRED 1
@ -216,7 +220,7 @@
#else #else
/* /*
* Currently supported: * Currently supported:
* x86_64, i386, arm, powerpc, s390, sparc, mips, and RV64G * x86_64, x32, i386, arm, powerpc, s390, sparc, mips, and RV64G
*/ */
#error "Unsupported ISA type" #error "Unsupported ISA type"
#endif #endif

View File

@ -46,9 +46,13 @@ extern "C" {
#define __x86 #define __x86
#endif #endif
#if defined(_ILP32)
/* x32-specific defines; careful to *not* define _LP64 here */
#else
#if !defined(_LP64) #if !defined(_LP64)
#define _LP64 #define _LP64
#endif #endif
#endif
#if !defined(_LITTLE_ENDIAN) #if !defined(_LITTLE_ENDIAN)
#define _LITTLE_ENDIAN #define _LITTLE_ENDIAN
@ -214,7 +218,7 @@ extern "C" {
#else #else
/* /*
* Currently supported: * Currently supported:
* x86_64, i386, arm, powerpc, s390, sparc, mips, and RV64G * x86_64, x32, i386, arm, powerpc, s390, sparc, mips, and RV64G
*/ */
#error "Unsupported ISA type" #error "Unsupported ISA type"
#endif #endif