https://git.reactos.org/?p=reactos.git;a=commitdiff;h=aff33c855dbffbc0ef2e9…
commit aff33c855dbffbc0ef2e96e041103a26ec54814b
Author: Timo Kreuzer <timo.kreuzer(a)reactos.org>
AuthorDate: Mon Jan 29 18:37:09 2018 +0100
Commit: Timo Kreuzer <timo.kreuzer(a)reactos.org>
CommitDate: Sun Sep 20 23:08:17 2020 +0200
[CRT] Use chkstk_ms.s on x64 builds
---
sdk/lib/crt/CMakeLists.txt | 5 +----
sdk/lib/crt/except/amd64/chkstk_ms.s | 18 ++++++++++--------
sdk/lib/crt/libcntpr.cmake | 2 +-
sdk/lib/crt/msvcrtex.cmake | 1 -
4 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/sdk/lib/crt/CMakeLists.txt b/sdk/lib/crt/CMakeLists.txt
index 03a366ce372..24d4205fbd0 100644
--- a/sdk/lib/crt/CMakeLists.txt
+++ b/sdk/lib/crt/CMakeLists.txt
@@ -9,10 +9,7 @@ if(ARCH STREQUAL "i386")
list(APPEND CHKSTK_SOURCE except/i386/chkstk_ms.s)
endif()
elseif(ARCH STREQUAL "amd64")
- list(APPEND CHKSTK_ASM_SOURCE except/amd64/chkstk_asm.s)
- if(NOT MSVC)
- list(APPEND CHKSTK_SOURCE except/amd64/chkstk_ms.s)
- endif()
+ list(APPEND CHKSTK_ASM_SOURCE except/amd64/chkstk_ms.s)
elseif(ARCH STREQUAL "arm")
list(APPEND CHKSTK_ASM_SOURCE except/arm/chkstk_asm.s)
if(NOT MSVC)
diff --git a/sdk/lib/crt/except/amd64/chkstk_ms.s b/sdk/lib/crt/except/amd64/chkstk_ms.s
index dbf9eb2e691..0894720975f 100644
--- a/sdk/lib/crt/except/amd64/chkstk_ms.s
+++ b/sdk/lib/crt/except/amd64/chkstk_ms.s
@@ -15,14 +15,17 @@
/* CODE **********************************************************************/
.code64
-PUBLIC ___chkstk_ms
+PUBLIC __chkstk
+PUBLIC __alloca_probe
+
+__alloca_probe:
+.PROC __chkstk
- //cfi_startproc()
-___chkstk_ms:
push rcx /* save temps */
- //cfi_push(%rcx)
+ .pushreg rcx
push rax
- //cfi_push(%rax)
+ .pushreg rax
+ .endprolog
cmp rax, PAGE_SIZE /* > 4k ?*/
lea rcx, [rsp + 24] /* point past return addr */
@@ -41,11 +44,10 @@ l_LessThanAPage:
or byte ptr [rcx], 0 /* less than 4k, just peek here */
pop rax
- //cfi_pop(%rax)
pop rcx
- //cfi_pop(%rcx)
ret
- //cfi_endproc()
+
+.ENDP
END
/* EOF */
diff --git a/sdk/lib/crt/libcntpr.cmake b/sdk/lib/crt/libcntpr.cmake
index 1a49be53d75..f15f60367b1 100644
--- a/sdk/lib/crt/libcntpr.cmake
+++ b/sdk/lib/crt/libcntpr.cmake
@@ -112,7 +112,7 @@ if(ARCH STREQUAL "i386")
endif()
elseif(ARCH STREQUAL "amd64")
list(APPEND LIBCNTPR_ASM_SOURCE
- except/amd64/chkstk_asm.s
+ except/amd64/chkstk_ms.s
except/amd64/seh.s
setjmp/amd64/setjmp.s
math/amd64/atan.S
diff --git a/sdk/lib/crt/msvcrtex.cmake b/sdk/lib/crt/msvcrtex.cmake
index 3d68ce5189f..66b90d47ed8 100644
--- a/sdk/lib/crt/msvcrtex.cmake
+++ b/sdk/lib/crt/msvcrtex.cmake
@@ -67,7 +67,6 @@ if(ARCH STREQUAL "i386")
math/i386/cisqrt.c)
elseif(ARCH STREQUAL "amd64")
list(APPEND MSVCRTEX_ASM_SOURCE
- except/amd64/chkstk_asm.s
except/amd64/chkstk_ms.s)
elseif(ARCH STREQUAL "arm")
list(APPEND MSVCRTEX_SOURCE