tcg/ppc: Define _CALL_AIX for clang on ppc64(be)
Restructure the ifdef ladder, separating 64-bit from 32-bit, and ensure _CALL_AIX is set for ELF v1. Fixes the build for ppc64 big-endian host with clang. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
2be6a48673
commit
dc8a8cc879
@ -29,15 +29,24 @@
|
|||||||
/*
|
/*
|
||||||
* Standardize on the _CALL_FOO symbols used by GCC:
|
* Standardize on the _CALL_FOO symbols used by GCC:
|
||||||
* Apple XCode does not define _CALL_DARWIN.
|
* Apple XCode does not define _CALL_DARWIN.
|
||||||
* Clang defines _CALL_ELF (64-bit) but not _CALL_SYSV (32-bit).
|
* Clang defines _CALL_ELF (64-bit) but not _CALL_SYSV or _CALL_AIX.
|
||||||
*/
|
*/
|
||||||
#if !defined(_CALL_SYSV) && \
|
#if TCG_TARGET_REG_BITS == 64
|
||||||
!defined(_CALL_DARWIN) && \
|
# ifdef _CALL_AIX
|
||||||
!defined(_CALL_AIX) && \
|
/* ok */
|
||||||
!defined(_CALL_ELF)
|
# elif defined(_CALL_ELF) && _CALL_ELF == 1
|
||||||
# if defined(__APPLE__)
|
# define _CALL_AIX
|
||||||
|
# elif defined(_CALL_ELF) && _CALL_ELF == 2
|
||||||
|
/* ok */
|
||||||
|
# else
|
||||||
|
# error "Unknown ABI"
|
||||||
|
# endif
|
||||||
|
#else
|
||||||
|
# if defined(_CALL_SYSV) || defined(_CALL_DARWIN)
|
||||||
|
/* ok */
|
||||||
|
# elif defined(__APPLE__)
|
||||||
# define _CALL_DARWIN
|
# define _CALL_DARWIN
|
||||||
# elif defined(__ELF__) && TCG_TARGET_REG_BITS == 32
|
# elif defined(__ELF__)
|
||||||
# define _CALL_SYSV
|
# define _CALL_SYSV
|
||||||
# else
|
# else
|
||||||
# error "Unknown ABI"
|
# error "Unknown ABI"
|
||||||
|
Loading…
Reference in New Issue
Block a user