Reactos
at listview 58 lines 1.1 kB view raw
1 2#ifdef _M_IX86 3#define SYM(name) _##name 4#define IMPSYM(name) __imp__##name 5#else 6#define SYM(name) name 7#define IMPSYM(name) __imp_##name 8#endif 9 10#if (defined(_M_IX86) || defined(_M_AMD64)) 11 12#include <asm.inc> 13 14MACRO(CREATE_ALIAS1, alias, target) 15#ifdef _USE_ML 16 EXTERN SYM(&target):PROC 17 ALIAS <SYM(&alias)> = <SYM(&target)> 18#else 19 .weakref SYM(&alias), SYM(&target) 20#endif 21ENDM 22 23MACRO(CREATE_ALIAS2, alias, target) 24#ifdef _USE_ML 25 EXTERN IMPSYM(&target):PROC 26 ALIAS <IMPSYM(&alias)> = <IMPSYM(&target)> 27#else 28 .weakref IMPSYM(&alias), IMPSYM(&target) 29#endif 30ENDM 31 32MACRO(CREATE_ALIAS, alias, target) 33 CREATE_ALIAS1 &alias, &target 34 CREATE_ALIAS2 &alias, &target 35ENDM 36 37#elif defined(_M_ARM) 38 39#include <kxarm.h> 40 41 MACRO 42 CREATE_ALIAS1 $alias, $target 43 IMPORT SYM($alias), WEAK SYM($target) 44 MEND 45 46 MACRO 47 CREATE_ALIAS2 $alias, $target 48 IMPORT IMPSYM($alias), WEAK IMPSYM($target) 49 MEND 50 51 MACRO 52 CREATE_ALIAS $alias, $target 53 CREATE_ALIAS1 $alias, $target 54 CREATE_ALIAS2 $alias, $target 55 MEND 56#else 57#error "Unsupported platform." 58#endif