https://bugs.winehq.org/show_bug.cgi?id=46106
Bug ID: 46106 Summary: Stable: ARM64 build broken with gcc Product: Wine Version: 3.0.3 Hardware: x86 OS: Linux Status: NEW Severity: major Priority: P2 Component: build-env Assignee: wine-bugs@winehq.org Reporter: mstefani@winehq.org Distribution: ---
From Jens Reyer, the Debian Wine maintainer:
"wine-3.0.2-27-g295359a174 causes a build failure on Debian unstable arm64, because now you need clang >= 5.0 to build Wine for arm64 (so far we don't build with clang at all there)."
commit 295359a17447d6ad487b6c652c3a98bbe17cee6e Author: Martin Storsjo martin@martin.st Date: Wed May 9 23:34:57 2018 +0300
arm64: Use __builtin_ms_va_list and __attribute__((ms_abi)) on arm64.
Windows uses a different ABI for va_list on arm64 just like on x86_64.
On x86_64, the calling convention for windows functions is completely different from the one on other platforms. On arm64, they're mostly the same, with the only exception being variadic functions (where all float arguments are passed in integer registers, since the va_list is a single pointer).
Any functions using __builtin_ms_va_start need to be decorated with __attribute__((ms_abi)).
Signed-off-by: Martin Storsjo martin@martin.st Signed-off-by: Alexandre Julliard julliard@winehq.org (cherry picked from commit 8fb8cc03c3edb599dd98f369e14a08f899cbff95) Signed-off-by: Michael Stefaniuc mstefani@winehq.org