https://bugs.winehq.org/show_bug.cgi?id=38886
Patrick Littlefighter1996@googlemail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |Littlefighter1996@googlemai | |l.com
--- Comment #11 from Patrick Littlefighter1996@googlemail.com --- I've tried building the version as of tag 7.21 for aarch64 for an OpenEmbedded distro.
When using the environment scripts to setup the toolchain, wine runs, the applications built with wine work, but while running an ARM64 binary built with MSVC, the program crashes for functions that use varargs. (Only the function "_snwprintf_s" has been tested).
(Using GCC as the compiler for wine).
How is the ARM64 port currently supposed to be built? Using Clang (from llvm-mingw) using a ARM64 Linux target fails currently at two major points.
* Configure will fail for the 64-bit compare-and-swap detection. (I've forced that to "none needed", although I don't know if that's the proper approach, as the GCC configuration determined that, I figured, that's probably the correct setting). * All functions that use va_start require __cdecl to be specified, as these have been redefined as long as clang is being used. clang complains about "error: '__builtin_ms_va_start' used in System V ABI function" throughout MANY occurences.
Furthermore, linking ntdll fails when building, referencing a missing built-in function. One that apparently comes from GCC (either InterlockedCompareExchange64 or InterlockedCompareExchange128 specified in rtl.o that's using the built-in GCC functions). Apparently the object was built using GCC, but winegcc invokes clang and lld, failing to link the built-in function.
So, I'm unsure if this bug has regressed or if that's just me failing to properly configure the project.