Module: wine Branch: stable Commit: 578ea23ca37c86bfaa66899a26cb10182c276be8 URL: https://source.winehq.org/git/wine.git/?a=commit;h=578ea23ca37c86bfaa66899a2...
Author: Michael Stefaniuc mstefani@winehq.org Date: Tue Nov 6 20:48:25 2018 +0100
Revert "arm64: Use __builtin_ms_va_list and __attribute__((ms_abi)) on arm64."
This reverts commit 295359a17447d6ad487b6c652c3a98bbe17cee6e. It breaks compilation for ARM64 with other compilers than clang > 5.0.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46106 Signed-off-by: Michael Stefaniuc mstefani@winehq.org
---
configure | 24 ------------------------ configure.ac | 7 ------- include/msvcrt/crtdefs.h | 6 +----- include/windef.h | 6 +----- include/wine/test.h | 4 ++-- 5 files changed, 4 insertions(+), 43 deletions(-)
diff --git a/configure b/configure index 05da31d..289eab0 100755 --- a/configure +++ b/configure @@ -5314,30 +5314,6 @@ rm -f core conftest.err conftest.$ac_objext \ TARGETFLAGS="-marm -mfloat-abi=$float_abi"
;; - aarch64*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports __builtin_ms_va_list" >&5 -$as_echo_n "checking whether $CC supports __builtin_ms_va_list... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdarg.h> -int -main () -{ -void func(__builtin_ms_va_list *args); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - as_fn_error $? "You need clang >= 5.0 to build Wine for arm64." "$LINENO" 5 -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ;; i[3456789]86*) enable_win16=${enable_win16:-yes} ;; diff --git a/configure.ac b/configure.ac index 201ef0c..ec2e16f 100644 --- a/configure.ac +++ b/configure.ac @@ -202,13 +202,6 @@ case $host in CFLAGS="$CFLAGS -marm -mfloat-abi=$float_abi" AC_SUBST(TARGETFLAGS,"-marm -mfloat-abi=$float_abi") ;; - aarch64*) - AC_MSG_CHECKING([whether $CC supports __builtin_ms_va_list]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdarg.h>]], [[void func(__builtin_ms_va_list *args);]])], - [AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no]) - AC_MSG_ERROR([You need clang >= 5.0 to build Wine for arm64.])]) - ;; i[[3456789]]86*) enable_win16=${enable_win16:-yes} ;; diff --git a/include/msvcrt/crtdefs.h b/include/msvcrt/crtdefs.h index 0c0b087..a9edef5 100644 --- a/include/msvcrt/crtdefs.h +++ b/include/msvcrt/crtdefs.h @@ -62,8 +62,6 @@ # endif # elif defined(__arm__) && defined (__GNUC__) && !defined(__SOFTFP__) # define __stdcall __attribute__((pcs("aapcs-vfp"))) -# elif defined(__aarch64__) && defined (__GNUC__) -# define __stdcall __attribute__((ms_abi)) # else /* __i386__ */ # define __stdcall # endif /* __i386__ */ @@ -84,15 +82,13 @@ # endif # elif defined(__arm__) && defined (__GNUC__) && !defined(__SOFTFP__) # define __cdecl __attribute__((pcs("aapcs-vfp"))) -# elif defined(__aarch64__) && defined (__GNUC__) -# define __cdecl __attribute__((ms_abi)) # elif !defined(_MSC_VER) # define __cdecl # endif #endif /* __cdecl */
#ifndef __ms_va_list -# if (defined(__x86_64__) || defined(__aarch64__)) && defined (__GNUC__) +# if defined(__x86_64__) && defined (__GNUC__) # define __ms_va_list __builtin_ms_va_list # define __ms_va_start(list,arg) __builtin_ms_va_start(list,arg) # define __ms_va_end(list) __builtin_ms_va_end(list) diff --git a/include/windef.h b/include/windef.h index d12b14f..8a9f944 100644 --- a/include/windef.h +++ b/include/windef.h @@ -71,8 +71,6 @@ extern "C" { # endif # elif defined(__arm__) && defined (__GNUC__) && !defined(__SOFTFP__) # define __stdcall __attribute__((pcs("aapcs-vfp"))) -# elif defined(__aarch64__) && defined (__GNUC__) -# define __stdcall __attribute__((ms_abi)) # else /* __i386__ */ # define __stdcall # endif /* __i386__ */ @@ -93,15 +91,13 @@ extern "C" { # endif # elif defined(__arm__) && defined (__GNUC__) && !defined(__SOFTFP__) # define __cdecl __attribute__((pcs("aapcs-vfp"))) -# elif defined(__aarch64__) && defined (__GNUC__) -# define __cdecl __attribute__((ms_abi)) # elif !defined(_MSC_VER) # define __cdecl # endif #endif /* __cdecl */
#ifndef __ms_va_list -# if (defined(__x86_64__) || defined(__aarch64__)) && defined (__GNUC__) +# if defined(__x86_64__) && defined (__GNUC__) # define __ms_va_list __builtin_ms_va_list # define __ms_va_start(list,arg) __builtin_ms_va_start(list,arg) # define __ms_va_end(list) __builtin_ms_va_end(list) diff --git a/include/wine/test.h b/include/wine/test.h index 3caff6c..4ec66d5 100644 --- a/include/wine/test.h +++ b/include/wine/test.h @@ -87,7 +87,7 @@ static inline int winetest_strcmpW( const WCHAR *str1, const WCHAR *str2 ) #define START_TEST(name) void func_##name(void) #endif
-#if (defined(__x86_64__) || defined(__aarch64__)) && defined(__GNUC__) && defined(__WINE_USE_MSVCRT) +#if defined(__x86_64__) && defined(__GNUC__) && defined(__WINE_USE_MSVCRT) #define __winetest_cdecl __cdecl #define __winetest_va_list __builtin_ms_va_list #else @@ -178,7 +178,7 @@ extern void __winetest_cdecl winetest_trace( const char *msg, ... ) WINETEST_PRI #include <stdio.h> #include <excpt.h>
-#if (defined(__x86_64__) || defined(__aarch64__)) && defined(__GNUC__) && defined(__WINE_USE_MSVCRT) +#if defined(__x86_64__) && defined(__GNUC__) && defined(__WINE_USE_MSVCRT) # define __winetest_va_start(list,arg) __builtin_ms_va_start(list,arg) # define __winetest_va_end(list) __builtin_ms_va_end(list) #else