crt: Remove __chkstk from libkernel32.a for arm32 This matches what was done for x86_64 in 29284a3727. On Windows 10 IoT, this symbol apparently isn't available from kernel32, see https://github.com/mstorsjo/llvm-mingw/issues/67#issuecomment-593431931 for discussion. The symbol is available in the compiler-rt builtins library, like the corresponding ones for all other architectures as well. Normally, that one is the one included, but if -lkernel32 is explicitly passed when linking (as is done by e.g. CMake), that one is searched before the compiler-rt builtins library. Signed-off-by: Martin Storsjö <martin@martin.st>
diff --git a/mingw-w64-crt/lib-common/kernel32.def.in b/mingw-w64-crt/lib-common/kernel32.def.in index e92f235..4ed3fe0 100644 --- a/mingw-w64-crt/lib-common/kernel32.def.in +++ b/mingw-w64-crt/lib-common/kernel32.def.in
@@ -1646,7 +1646,9 @@ ZombifyActCtxWorker F_X64(__C_specific_handler) F_ARM32(__C_specific_handler) -F_ARM32(__chkstk) +; This isn't always available and shouldn't be linked from here, but should +; be statically linked from the compiler support library. +;F_ARM32(__chkstk) F_X64(__misaligned_access) _hread _hwrite