[ARM] Fix some compilation errors for ARM

CORE-17634 CORE-17604
This commit is contained in:
Stanislav Motylkov 2021-09-09 18:56:32 +03:00
parent 0233bb72b3
commit 3f4c98a425
No known key found for this signature in database
GPG key ID: AFE513258CBA9E92
6 changed files with 34 additions and 37 deletions

View file

@ -611,7 +611,7 @@
@ stdcall -stub -version=0x600+ RtlAcquireSRWLockShared(ptr)
@ stdcall RtlActivateActivationContext(long ptr ptr)
@ stdcall RtlActivateActivationContextEx(long ptr ptr ptr)
@ stdcall -arch=x86_64 RtlActivateActivationContextUnsafeFast(ptr ptr)
@ stdcall -arch=x86_64,arm RtlActivateActivationContextUnsafeFast(ptr ptr)
@ stdcall RtlAddAccessAllowedAce(ptr long long ptr)
@ stdcall RtlAddAccessAllowedAceEx(ptr long long long ptr)
@ stdcall RtlAddAccessAllowedObjectAce(ptr long long long ptr ptr ptr)
@ -743,7 +743,7 @@
@ stub -version=0x600+ RtlDeCommitDebugInfo
@ stdcall RtlDeNormalizeProcessParams(ptr)
@ stdcall RtlDeactivateActivationContext(long long)
@ stdcall -arch=x86_64 RtlDeactivateActivationContextUnsafeFast(ptr)
@ stdcall -arch=x86_64,arm RtlDeactivateActivationContextUnsafeFast(ptr)
@ stdcall -stub RtlDebugPrintTimes()
@ stdcall RtlDecodePointer(ptr)
@ stdcall RtlDecodeSystemPointer(ptr)
@ -1757,7 +1757,7 @@
@ cdecl -arch=i386 _CIsin()
@ cdecl -arch=i386 _CIsqrt()
@ cdecl -arch=x86_64,arm __C_specific_handler(ptr long ptr ptr)
@ cdecl -arch=x86_64 __chkstk()
@ cdecl -arch=x86_64,arm __chkstk()
@ cdecl __isascii(long)
@ cdecl __iscsym(long)
@ cdecl __iscsymf(long)
@ -1791,8 +1791,8 @@
@ cdecl _ltow(long ptr long)
@ cdecl _memccpy(ptr ptr long long)
@ cdecl _memicmp(str str long)
@ cdecl -arch=x86_64 _setjmp(ptr ptr)
@ cdecl -arch=x86_64 _setjmpex(ptr ptr)
@ cdecl -arch=x86_64,arm _setjmp(ptr ptr)
@ cdecl -arch=x86_64,arm _setjmpex(ptr ptr)
@ varargs _snprintf(ptr long str)
@ varargs _snwprintf(ptr long wstr)
@ cdecl _splitpath(str ptr ptr ptr ptr)

View file

@ -164,7 +164,7 @@
;@ cdecl -arch=arm __ExceptionPtrRethrow()
;@ cdecl -arch=arm __ExceptionPtrSwap()
;@ cdecl -arch=arm __ExceptionPtrToBool()
@ cdecl -arch=arm __uncaught_exception()
@ cdecl -arch=arm __uncaught_exception(ptr) MSVCRT___uncaught_exception
@ cdecl -arch=arm ?_query_new_handler@@YAP6AHI@ZXZ() MSVCRT__query_new_handler # int (__cdecl*__cdecl _query_new_handler(void))(unsigned int)
@ cdecl -arch=arm ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z() MSVCRT__set_new_handler # int (__cdecl*__cdecl _set_new_handler(int (__cdecl*)(unsigned int)))(unsigned int)
@ cdecl -arch=arm ?_set_new_mode@@YAHH@Z() MSVCRT__set_new_mode # int __cdecl _set_new_mode(int)
@ -947,7 +947,7 @@
@ cdecl _seterrormode(long)
@ cdecl -norelay _setjmp(ptr)
@ cdecl -arch=i386 -norelay _setjmp3(ptr long)
@ cdecl -arch=x86_64 -norelay _setjmpex(ptr ptr)
@ cdecl -arch=x86_64,arm -norelay _setjmpex(ptr ptr)
@ cdecl _setmaxstdio(long)
@ cdecl _setmbcp(long)
@ cdecl _setmode(long long)

View file

@ -41,7 +41,7 @@ list(APPEND SOURCE
unix_func.c
${CMAKE_CURRENT_BINARY_DIR}/epm_c.c)
if(MSVC AND NOT ARCH STREQUAL "arm")
if(MSVC)
add_asm_files(rpcrt4_asm msvc.S)
endif()

View file

@ -1,5 +1,9 @@
#if defined(_M_IX86) || defined(_M_AMD64)
#include <asm.inc>
#elif defined(_M_ARM)
#include <kxarm.h>
#endif
#ifdef _M_IX86
.code32
@ -29,7 +33,8 @@ _call_stubless_func:
mov ecx, [esp] /* return address */
add esp, edx
jmp ecx
#else
#elif _M_AMD64
.code64
EXTERN ndr_client_call:PROC
@ -141,6 +146,25 @@ FUNC NdrAsyncClientCall
ret
ENDFUNC
#elif _M_ARM
TEXTAREA
LEAF_ENTRY call_stubless_func
/* Unimplemented */
__assertfail
bx lr
LEAF_END call_stubless_func
LEAF_ENTRY call_server_func
/* Unimplemented */
__assertfail
bx lr
LEAF_END call_server_func
#endif
END

View file

@ -1559,7 +1559,7 @@
@ cdecl -arch=x86_64 _local_unwind()
@ cdecl _purecall()
@ cdecl -arch=x86_64,arm _setjmp(ptr ptr)
@ cdecl -arch=x86_64 _setjmpex(ptr ptr)
@ cdecl -arch=x86_64,arm _setjmpex(ptr ptr)
@ cdecl _snprintf()
@ cdecl _snwprintf()
@ cdecl _stricmp()

View file

@ -1,27 +0,0 @@
/*
* COPYRIGHT: BSD - See COPYING.ARM in the top level directory
* PROJECT: ReactOS CRT librariy
* PURPOSE: Implementation of _chkstk and _alloca_probe
* PROGRAMMER: Timo Kreuzer (timo.kreuzer@reactos.org)
* Yuntian Zhang (yuntian.zh@gmail.com)
*/
/* INCLUDES ******************************************************************/
#include <kxarm.h>
/* CODE **********************************************************************/
TEXTAREA
LEAF_ENTRY ___chkstk_ms
__assertfail
bx lr
LEAF_END __chkstk_ms
LEAF_ENTRY __alloca_probe
__assertfail
bx lr
LEAF_END __alloca_probe
END
/* EOF */