[CRT/OLDNAMES]

Fix ARM build, patch by Yuntian Zhang with minor adjustment by me.
CORE-8666 #resolve #comment Committed in r64910, thanks!

svn path=/trunk/; revision=64910
This commit is contained in:
Timo Kreuzer 2014-10-23 09:22:45 +00:00
parent 70bd834afe
commit 8dc7d09ca1
3 changed files with 169 additions and 135 deletions

View file

@ -68,6 +68,16 @@ $FuncEndName
fixme fixme
MEND MEND
#define CR 13
#define LF 10
#define NUL 0
#define ASCII dcb
MACRO
UNIMPLEMENTED $Name
MEND
#else #else
/* Compatibility define */ /* Compatibility define */

View file

@ -2,31 +2,29 @@
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries * PROJECT: ReactOS system libraries
* PURPOSE: Implementation of _chkstk and _alloca_probe * PURPOSE: Implementation of _chkstk and _alloca_probe
* FILE: lib/sdk/crt/math/amd64/chkstk_asm.s * FILE: lib/sdk/crt/except/arm/chkstk_asm.s
* PROGRAMMER: Timo Kreuzer (timo.kreuzer@reactos.org) * PROGRAMMER: Timo Kreuzer (timo.kreuzer@reactos.org)
* Yuntian Zhang (yuntian.zh@gmail.com)
*/ */
/* INCLUDES ******************************************************************/ /* INCLUDES ******************************************************************/
#include <asm.inc> #include <kxarm.h>
/* CODE **********************************************************************/ /* CODE **********************************************************************/
.code64 TEXTAREA
MsgUnimplemented: MsgUnimplemented ASCII "Unimplemented", CR, LF, NUL
.ascii "Unimplemented", CR, LF, NUL
FUNC __chkstk LEAF_ENTRY __chkstk
.endprolog
UNIMPLEMENTED chkstk UNIMPLEMENTED chkstk
ret bx lr
ENDFUNC LEAF_END __chkstk
FUNC __alloca_probe LEAF_ENTRY __alloca_probe
.endprolog
UNIMPLEMENTED alloca_probe UNIMPLEMENTED alloca_probe
ret bx lr
ENDFUNC LEAF_END __alloca_probe
END END
/* EOF */ /* EOF */

View file

@ -1,6 +1,4 @@
#include <asm.inc>
#ifdef _M_IX86 #ifdef _M_IX86
#define SYM(name) _##name #define SYM(name) _##name
#define IMPSYM(name) __imp__##name #define IMPSYM(name) __imp__##name
@ -9,6 +7,10 @@
#define IMPSYM(name) __imp_##name #define IMPSYM(name) __imp_##name
#endif #endif
#if (defined(_M_IX86) || defined(_M_AMD64))
#include <asm.inc>
MACRO(CREATE_ALIAS1, alias, target) MACRO(CREATE_ALIAS1, alias, target)
#ifdef _USE_ML #ifdef _USE_ML
EXTERN SYM(&target):PROC EXTERN SYM(&target):PROC
@ -32,6 +34,30 @@ MACRO(CREATE_ALIAS, alias, target)
CREATE_ALIAS2 &alias, &target CREATE_ALIAS2 &alias, &target
ENDM ENDM
#elif defined(_M_ARM)
#include <kxarm.h>
MACRO
CREATE_ALIAS1 $alias, $target
IMPORT SYM($alias), WEAK SYM($target)
MEND
MACRO
CREATE_ALIAS2 $alias, $target
IMPORT IMPSYM($alias), WEAK IMPSYM($target)
MEND
MACRO
CREATE_ALIAS $alias, $target
CREATE_ALIAS1 $alias, $target
CREATE_ALIAS2 $alias, $target
MEND
#else
#error "Unsupported platform."
#endif
/* Do not remove indentation, this would break ARM build! */
CREATE_ALIAS access, _access CREATE_ALIAS access, _access
CREATE_ALIAS chdir, _chdir CREATE_ALIAS chdir, _chdir
CREATE_ALIAS chmod, _chmod CREATE_ALIAS chmod, _chmod