Don't include WIN64/EFI64 for x32
Since x32 doesn't support WIN64/EFI64, don't include it for x32. Also x32 has sizeof size_t == 4. But TARGET should be X86_64.
This commit is contained in:
@@ -106,10 +106,18 @@ case "${host}" in
|
|||||||
if test $ac_cv_sizeof_size_t = 4; then
|
if test $ac_cv_sizeof_size_t = 4; then
|
||||||
case "$host" in
|
case "$host" in
|
||||||
x86_64-*x32|x86_64-x32-*)
|
x86_64-*x32|x86_64-x32-*)
|
||||||
|
TARGET_X32=yes
|
||||||
TARGET=X86_64
|
TARGET=X86_64
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
TARGET=X86
|
echo 'int foo (void) { return __x86_64__; }' > conftest.c
|
||||||
|
if $CC $CFLAGS -Werror -S conftest.c -o conftest.s > /dev/null 2>&1; then
|
||||||
|
TARGET_X32=yes
|
||||||
|
TARGET=X86_64
|
||||||
|
else
|
||||||
|
TARGET=X86;
|
||||||
|
fi
|
||||||
|
rm -f conftest.*
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
else
|
else
|
||||||
@@ -255,7 +263,11 @@ case "${TARGET}" in
|
|||||||
SOURCES="ffi.c sysv.S"
|
SOURCES="ffi.c sysv.S"
|
||||||
;;
|
;;
|
||||||
X86_64)
|
X86_64)
|
||||||
|
if test x"$TARGET_X32" = xyes; then
|
||||||
|
SOURCES="ffi64.c unix64.S"
|
||||||
|
else
|
||||||
SOURCES="ffi64.c unix64.S ffiw64.c win64.S"
|
SOURCES="ffi64.c unix64.S ffiw64.c win64.S"
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
X86_WIN64)
|
X86_WIN64)
|
||||||
if test "$MSVC" = 1; then
|
if test "$MSVC" = 1; then
|
||||||
|
|||||||
@@ -324,7 +324,8 @@ proc run-many-tests { testcases extra_flags } {
|
|||||||
"-DABI_NUM=FFI_THISCALL -DABI_ATTR=__THISCALL__"
|
"-DABI_NUM=FFI_THISCALL -DABI_ATTR=__THISCALL__"
|
||||||
"-DABI_NUM=FFI_FASTCALL -DABI_ATTR=__FASTCALL__"
|
"-DABI_NUM=FFI_FASTCALL -DABI_ATTR=__FASTCALL__"
|
||||||
}
|
}
|
||||||
} elseif [istarget "x86_64-*-*"] {
|
} elseif { [istarget "x86_64-*-*"] \
|
||||||
|
&& [libffi_feature_test "#ifndef __ILP32__"] } {
|
||||||
set targetabis {
|
set targetabis {
|
||||||
""
|
""
|
||||||
"-DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__"
|
"-DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__"
|
||||||
|
|||||||
Reference in New Issue
Block a user