mirror of
https://github.com/xemu-project/xemu.git
synced 2025-02-17 10:38:52 +00:00
tcg/ppc: Ensure _CALL_SYSV is set for 32-bit ELF
Clang only sets _CALL_ELF for ppc64, and nothing at all to specify the ABI for ppc32. Make a good guess based on other symbols. Reported-by: Brad Smith <brad@comstyle.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
2fa169ba61
commit
d216898563
@ -25,9 +25,24 @@
|
||||
#include "elf.h"
|
||||
#include "../tcg-pool.c.inc"
|
||||
|
||||
#if !defined _CALL_DARWIN && defined __APPLE__
|
||||
#define _CALL_DARWIN 1
|
||||
#endif
|
||||
/*
|
||||
* Standardize on the _CALL_FOO symbols used by GCC:
|
||||
* Apple XCode does not define _CALL_DARWIN.
|
||||
* Clang defines _CALL_ELF (64-bit) but not _CALL_SYSV (32-bit).
|
||||
*/
|
||||
#if !defined(_CALL_SYSV) && \
|
||||
!defined(_CALL_DARWIN) && \
|
||||
!defined(_CALL_AIX) && \
|
||||
!defined(_CALL_ELF)
|
||||
# if defined(__APPLE__)
|
||||
# define _CALL_DARWIN
|
||||
# elif defined(__ELF__) && TCG_TARGET_REG_BITS == 32
|
||||
# define _CALL_SYSV
|
||||
# else
|
||||
# error "Unknown ABI"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef _CALL_SYSV
|
||||
# define TCG_TARGET_CALL_ALIGN_ARGS 1
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user