Implement __chkstk for arm64
Lifted from a previously built SDL3.dll
This commit is contained in:
committed by
Anonymous Maarten
parent
578ac0ef52
commit
4fbf59ac3a
@@ -505,9 +505,14 @@ if(MSVC AND TARGET SDL3-shared AND NOT SDL_LIBC)
|
||||
target_compile_options(SDL3-shared PRIVATE "$<$<COMPILE_LANGUAGE:ASM_MASM>:/nologo>")
|
||||
set_property(SOURCE "${asm_src}" PROPERTY LANGUAGE "ASM_MASM")
|
||||
target_sources(SDL3-shared PRIVATE "${asm_src}")
|
||||
elseif(SDL_CPU_ARM32 OR SDL_CPU_ARM64)
|
||||
# FIXME: ARM assembler (armasm.exe/armasm64.exe) is NOT ASM_MASM, and does currently not work with CMake
|
||||
# (https://gitlab.kitware.com/cmake/cmake/-/issues/18912)
|
||||
elseif(SDL_CPU_ARM64)
|
||||
enable_language(ASM_MARMASM)
|
||||
set(asm_src "${SDL3_SOURCE_DIR}/src/stdlib/SDL_mslibc_arm64.masm")
|
||||
target_compile_options(SDL3-shared PRIVATE "$<$<COMPILE_LANGUAGE:ASM_MARMASM>:/nologo>")
|
||||
set_property(SOURCE "${asm_src}" PROPERTY LANGUAGE "ASM_MARMASM")
|
||||
target_sources(SDL3-shared PRIVATE "${asm_src}")
|
||||
elseif(SDL_CPU_ARM32)
|
||||
# FIXME
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -3388,6 +3393,17 @@ if(SDL_SHARED)
|
||||
# (__rt_sdiv, __rt_udiv, __rt_sdiv64, _rt_udiv64, __dtou64, __u64tod, __i64tos)
|
||||
target_link_libraries(SDL3-shared PRIVATE msvcrt.lib)
|
||||
endif()
|
||||
find_library(HAVE_ONECORE_LIB NAMES "onecore.lib")
|
||||
if(HAVE_ONECORE_LIB)
|
||||
# SDL_malloc.c: __imp_MapViewOfFileNuma2 referenced in function MapViewOfFile2
|
||||
target_link_libraries(SDL3-shared PRIVATE onecore.lib)
|
||||
endif()
|
||||
find_library(HAVE_VOLATILEACCESSU_LIB NAMES "volatileaccessu.lib")
|
||||
if(HAVE_VOLATILEACCESSU_LIB)
|
||||
# SDL_malloc.c : RtlSetVolatileMemory referenced in function RtlFillVolatileMemory
|
||||
# SDL_malloc.c : RtlFillDeviceMemory referenced in function RtlZeroDeviceMemory
|
||||
target_link_libraries(SDL3-shared PRIVATE volatileaccessu.lib)
|
||||
endif()
|
||||
endif()
|
||||
if(HAS_Q_NO_USE_LIBIRC)
|
||||
target_compile_options(SDL3-shared PRIVATE /Q_no-use-libirc)
|
||||
|
||||
Reference in New Issue
Block a user