mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-17 23:22:12 -06: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
1 changed files with 18 additions and 3 deletions
|
@ -25,9 +25,24 @@
|
||||||
#include "elf.h"
|
#include "elf.h"
|
||||||
#include "../tcg-pool.c.inc"
|
#include "../tcg-pool.c.inc"
|
||||||
|
|
||||||
#if !defined _CALL_DARWIN && defined __APPLE__
|
/*
|
||||||
#define _CALL_DARWIN 1
|
* 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
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef _CALL_SYSV
|
#ifdef _CALL_SYSV
|
||||||
# define TCG_TARGET_CALL_ALIGN_ARGS 1
|
# define TCG_TARGET_CALL_ALIGN_ARGS 1
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue