ntdll: Build __chkstk as x86-64 code on ARM64EC.

Based on a patch by Jacek Caban.
This commit is contained in:
Alexandre Julliard 2024-05-02 09:28:00 +02:00
parent 8331003f7e
commit 6d931c271a
2 changed files with 17 additions and 20 deletions

View file

@ -2323,17 +2323,6 @@ static void __attribute__((naked)) arm64x_check_call(void)
}
/**************************************************************************
* __chkstk (NTDLL.@)
*
* Supposed to touch all the stack pages, but we shouldn't need that.
*/
void __attribute__((naked)) __chkstk(void)
{
asm( "ret" );
}
/**************************************************************************
* __chkstk_arm64ec (NTDLL.@)
*

View file

@ -18,7 +18,11 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if defined(__x86_64__) && !defined(__arm64ec__)
#if 0
#pragma makedep arm64ec_x64
#endif
#ifdef __x86_64__
#include <stdlib.h>
#include <stdarg.h>
@ -34,6 +38,17 @@
#include "wine/debug.h"
#include "ntsyscalls.h"
/**************************************************************************
* __chkstk (NTDLL.@)
*
* Supposed to touch all the stack pages, but we shouldn't need that.
*/
__ASM_GLOBAL_FUNC( __chkstk, "ret" );
#ifndef __arm64ec_x64__
WINE_DEFAULT_DEBUG_CHANNEL(seh);
WINE_DECLARE_DEBUG_CHANNEL(relay);
@ -81,14 +96,6 @@ static NTSTATUS virtual_unwind( ULONG type, DISPATCHER_CONTEXT *dispatch, CONTEX
}
/**************************************************************************
* __chkstk (NTDLL.@)
*
* Supposed to touch all the stack pages, but we shouldn't need that.
*/
__ASM_GLOBAL_FUNC( __chkstk, "ret" );
/***********************************************************************
* RtlCaptureContext (NTDLL.@)
*/
@ -1043,4 +1050,5 @@ __ASM_GLOBAL_FUNC( DbgUserBreakPoint, "int $3; ret"
"\n\tnop; nop; nop; nop; nop; nop; nop; nop"
"\n\tnop; nop; nop; nop; nop; nop" );
#endif /* __arm64ec_x64__ */
#endif /* __x86_64__ */