Commit d303d9dc authored by Alexandre Julliard's avatar Alexandre Julliard

kernel32: Add appropriate stdcall decorations to assembly functions.

parent 5c4612b3
...@@ -2210,37 +2210,37 @@ void WINAPI MapHInstSL16( CONTEXT86 *context ) ...@@ -2210,37 +2210,37 @@ void WINAPI MapHInstSL16( CONTEXT86 *context )
/*************************************************************************** /***************************************************************************
* MapHInstLS (KERNEL32.@) * MapHInstLS (KERNEL32.@)
*/ */
__ASM_GLOBAL_FUNC( MapHInstLS, __ASM_STDCALL_FUNC( MapHInstLS, 0,
"pushl %eax\n\t" "pushl %eax\n\t"
"call " __ASM_NAME("MapHModuleLS") "\n\t" "call " __ASM_NAME("MapHModuleLS") __ASM_STDCALL(4) "\n\t"
"ret" ) "ret" )
/*************************************************************************** /***************************************************************************
* MapHInstSL (KERNEL32.@) * MapHInstSL (KERNEL32.@)
*/ */
__ASM_GLOBAL_FUNC( MapHInstSL, __ASM_STDCALL_FUNC( MapHInstSL, 0,
"pushl %eax\n\t" "pushl %eax\n\t"
"call " __ASM_NAME("MapHModuleSL") "\n\t" "call " __ASM_NAME("MapHModuleSL") __ASM_STDCALL(4) "\n\t"
"ret" ) "ret" )
/*************************************************************************** /***************************************************************************
* MapHInstLS_PN (KERNEL32.@) * MapHInstLS_PN (KERNEL32.@)
*/ */
__ASM_GLOBAL_FUNC( MapHInstLS_PN, __ASM_STDCALL_FUNC( MapHInstLS_PN, 0,
"testl %eax,%eax\n\t" "testl %eax,%eax\n\t"
"jz 1f\n\t" "jz 1f\n\t"
"pushl %eax\n\t" "pushl %eax\n\t"
"call " __ASM_NAME("MapHModuleLS") "\n" "call " __ASM_NAME("MapHModuleLS") __ASM_STDCALL(4) "\n"
"1:\tret" ) "1:\tret" )
/*************************************************************************** /***************************************************************************
* MapHInstSL_PN (KERNEL32.@) * MapHInstSL_PN (KERNEL32.@)
*/ */
__ASM_GLOBAL_FUNC( MapHInstSL_PN, __ASM_STDCALL_FUNC( MapHInstSL_PN, 0,
"andl $0xffff,%eax\n\t" "andl $0xffff,%eax\n\t"
"jz 1f\n\t" "jz 1f\n\t"
"pushl %eax\n\t" "pushl %eax\n\t"
"call " __ASM_NAME("MapHModuleSL") "\n" "call " __ASM_NAME("MapHModuleSL") __ASM_STDCALL(4) "\n"
"1:\tret" ) "1:\tret" )
#endif /* __i386__ */ #endif /* __i386__ */
...@@ -2215,13 +2215,13 @@ BOOL WINAPI TerminateProcess( HANDLE handle, DWORD exit_code ) ...@@ -2215,13 +2215,13 @@ BOOL WINAPI TerminateProcess( HANDLE handle, DWORD exit_code )
* Nothing. * Nothing.
*/ */
#ifdef __i386__ #ifdef __i386__
__ASM_GLOBAL_FUNC( ExitProcess, /* Shrinker depend on this particular ExitProcess implementation */ __ASM_STDCALL_FUNC( ExitProcess, 4, /* Shrinker depend on this particular ExitProcess implementation */
"pushl %ebp\n\t" "pushl %ebp\n\t"
".byte 0x8B, 0xEC\n\t" /* movl %esp, %ebp */ ".byte 0x8B, 0xEC\n\t" /* movl %esp, %ebp */
".byte 0x6A, 0x00\n\t" /* pushl $0 */ ".byte 0x6A, 0x00\n\t" /* pushl $0 */
".byte 0x68, 0x00, 0x00, 0x00, 0x00\n\t" /* pushl $0 - 4 bytes immediate */ ".byte 0x68, 0x00, 0x00, 0x00, 0x00\n\t" /* pushl $0 - 4 bytes immediate */
"pushl 8(%ebp)\n\t" "pushl 8(%ebp)\n\t"
"call " __ASM_NAME("process_ExitProcess") "\n\t" "call " __ASM_NAME("process_ExitProcess") __ASM_STDCALL(4) "\n\t"
"leave\n\t" "leave\n\t"
"ret $4" ) "ret $4" )
......
...@@ -565,7 +565,7 @@ LPVOID WINAPI MapSLFix( SEGPTR sptr ) ...@@ -565,7 +565,7 @@ LPVOID WINAPI MapSLFix( SEGPTR sptr )
* Must not change EAX, hence defined as asm function. * Must not change EAX, hence defined as asm function.
*/ */
#ifdef __i386__ #ifdef __i386__
__ASM_GLOBAL_FUNC( UnMapSLFixArray, "ret $8" ) __ASM_STDCALL_FUNC( UnMapSLFixArray, 8, "ret $8" )
#endif #endif
...@@ -595,22 +595,22 @@ BOOL WINAPI GetThreadSelectorEntry( HANDLE hthread, DWORD sel, LPLDT_ENTRY ldten ...@@ -595,22 +595,22 @@ BOOL WINAPI GetThreadSelectorEntry( HANDLE hthread, DWORD sel, LPLDT_ENTRY ldten
/*********************************************************************** /***********************************************************************
* SMapLS (KERNEL32.@) * SMapLS (KERNEL32.@)
*/ */
__ASM_GLOBAL_FUNC( SMapLS, __ASM_STDCALL_FUNC( SMapLS, 0,
"xor %edx,%edx\n\t" "xor %edx,%edx\n\t"
"testl $0xffff0000,%eax\n\t" "testl $0xffff0000,%eax\n\t"
"jz 1f\n\t" "jz 1f\n\t"
"pushl %eax\n\t" "pushl %eax\n\t"
"call " __ASM_NAME("MapLS") "\n\t" "call " __ASM_NAME("MapLS") __ASM_STDCALL(4) "\n\t"
"movl %eax,%edx\n" "movl %eax,%edx\n"
"1:\tret" ) "1:\tret" )
/*********************************************************************** /***********************************************************************
* SUnMapLS (KERNEL32.@) * SUnMapLS (KERNEL32.@)
*/ */
__ASM_GLOBAL_FUNC( SUnMapLS, __ASM_STDCALL_FUNC( SUnMapLS, 0,
"pushl %eax\n\t" /* preserve eax */ "pushl %eax\n\t" /* preserve eax */
"pushl %eax\n\t" "pushl %eax\n\t"
"call " __ASM_NAME("UnMapLS") "\n\t" "call " __ASM_NAME("UnMapLS") __ASM_STDCALL(4) "\n\t"
"popl %eax\n\t" "popl %eax\n\t"
"ret" ) "ret" )
...@@ -631,9 +631,9 @@ __ASM_GLOBAL_FUNC( SUnMapLS, ...@@ -631,9 +631,9 @@ __ASM_GLOBAL_FUNC( SUnMapLS,
* unravel them at SUnMapLS. We just store the segmented pointer there. * unravel them at SUnMapLS. We just store the segmented pointer there.
*/ */
#define DEFINE_SMapLS(n) \ #define DEFINE_SMapLS(n) \
__ASM_GLOBAL_FUNC( SMapLS_IP_EBP_ ## n, \ __ASM_STDCALL_FUNC( SMapLS_IP_EBP_ ## n, 0, \
"movl " #n "(%ebp),%eax\n\t" \ "movl " #n "(%ebp),%eax\n\t" \
"call " __ASM_NAME("SMapLS") "\n\t" \ "call " __ASM_NAME("SMapLS") __ASM_STDCALL(4) "\n\t" \
"movl %edx," #n "(%ebp)\n\t" \ "movl %edx," #n "(%ebp)\n\t" \
"ret" ) "ret" )
...@@ -661,10 +661,10 @@ DEFINE_SMapLS(40) ...@@ -661,10 +661,10 @@ DEFINE_SMapLS(40)
*/ */
#define DEFINE_SUnMapLS(n) \ #define DEFINE_SUnMapLS(n) \
__ASM_GLOBAL_FUNC( SUnMapLS_IP_EBP_ ## n, \ __ASM_STDCALL_FUNC( SUnMapLS_IP_EBP_ ## n, 0, \
"pushl %eax\n\t" /* preserve eax */ \ "pushl %eax\n\t" /* preserve eax */ \
"pushl " #n "(%ebp)\n\t" \ "pushl " #n "(%ebp)\n\t" \
"call " __ASM_NAME("UnMapLS") "\n\t" \ "call " __ASM_NAME("UnMapLS") __ASM_STDCALL(4) "\n\t" \
"movl $0," #n "(%ebp)\n\t" \ "movl $0," #n "(%ebp)\n\t" \
"popl %eax\n\t" \ "popl %eax\n\t" \
"ret" ) "ret" )
......
...@@ -2275,7 +2275,7 @@ BOOL WINAPI BindIoCompletionCallback( HANDLE FileHandle, LPOVERLAPPED_COMPLETION ...@@ -2275,7 +2275,7 @@ BOOL WINAPI BindIoCompletionCallback( HANDLE FileHandle, LPOVERLAPPED_COMPLETION
* InterlockedCompareExchange (KERNEL32.@) * InterlockedCompareExchange (KERNEL32.@)
*/ */
/* LONG WINAPI InterlockedCompareExchange( PLONG dest, LONG xchg, LONG compare ); */ /* LONG WINAPI InterlockedCompareExchange( PLONG dest, LONG xchg, LONG compare ); */
__ASM_GLOBAL_FUNC(InterlockedCompareExchange, __ASM_STDCALL_FUNC(InterlockedCompareExchange, 12,
"movl 12(%esp),%eax\n\t" "movl 12(%esp),%eax\n\t"
"movl 8(%esp),%ecx\n\t" "movl 8(%esp),%ecx\n\t"
"movl 4(%esp),%edx\n\t" "movl 4(%esp),%edx\n\t"
...@@ -2286,7 +2286,7 @@ __ASM_GLOBAL_FUNC(InterlockedCompareExchange, ...@@ -2286,7 +2286,7 @@ __ASM_GLOBAL_FUNC(InterlockedCompareExchange,
* InterlockedExchange (KERNEL32.@) * InterlockedExchange (KERNEL32.@)
*/ */
/* LONG WINAPI InterlockedExchange( PLONG dest, LONG val ); */ /* LONG WINAPI InterlockedExchange( PLONG dest, LONG val ); */
__ASM_GLOBAL_FUNC(InterlockedExchange, __ASM_STDCALL_FUNC(InterlockedExchange, 8,
"movl 8(%esp),%eax\n\t" "movl 8(%esp),%eax\n\t"
"movl 4(%esp),%edx\n\t" "movl 4(%esp),%edx\n\t"
"lock; xchgl %eax,(%edx)\n\t" "lock; xchgl %eax,(%edx)\n\t"
...@@ -2296,7 +2296,7 @@ __ASM_GLOBAL_FUNC(InterlockedExchange, ...@@ -2296,7 +2296,7 @@ __ASM_GLOBAL_FUNC(InterlockedExchange,
* InterlockedExchangeAdd (KERNEL32.@) * InterlockedExchangeAdd (KERNEL32.@)
*/ */
/* LONG WINAPI InterlockedExchangeAdd( PLONG dest, LONG incr ); */ /* LONG WINAPI InterlockedExchangeAdd( PLONG dest, LONG incr ); */
__ASM_GLOBAL_FUNC(InterlockedExchangeAdd, __ASM_STDCALL_FUNC(InterlockedExchangeAdd, 8,
"movl 8(%esp),%eax\n\t" "movl 8(%esp),%eax\n\t"
"movl 4(%esp),%edx\n\t" "movl 4(%esp),%edx\n\t"
"lock; xaddl %eax,(%edx)\n\t" "lock; xaddl %eax,(%edx)\n\t"
...@@ -2306,7 +2306,7 @@ __ASM_GLOBAL_FUNC(InterlockedExchangeAdd, ...@@ -2306,7 +2306,7 @@ __ASM_GLOBAL_FUNC(InterlockedExchangeAdd,
* InterlockedIncrement (KERNEL32.@) * InterlockedIncrement (KERNEL32.@)
*/ */
/* LONG WINAPI InterlockedIncrement( PLONG dest ); */ /* LONG WINAPI InterlockedIncrement( PLONG dest ); */
__ASM_GLOBAL_FUNC(InterlockedIncrement, __ASM_STDCALL_FUNC(InterlockedIncrement, 4,
"movl 4(%esp),%edx\n\t" "movl 4(%esp),%edx\n\t"
"movl $1,%eax\n\t" "movl $1,%eax\n\t"
"lock; xaddl %eax,(%edx)\n\t" "lock; xaddl %eax,(%edx)\n\t"
...@@ -2316,7 +2316,7 @@ __ASM_GLOBAL_FUNC(InterlockedIncrement, ...@@ -2316,7 +2316,7 @@ __ASM_GLOBAL_FUNC(InterlockedIncrement,
/*********************************************************************** /***********************************************************************
* InterlockedDecrement (KERNEL32.@) * InterlockedDecrement (KERNEL32.@)
*/ */
__ASM_GLOBAL_FUNC(InterlockedDecrement, __ASM_STDCALL_FUNC(InterlockedDecrement, 4,
"movl 4(%esp),%edx\n\t" "movl 4(%esp),%edx\n\t"
"movl $-1,%eax\n\t" "movl $-1,%eax\n\t"
"lock; xaddl %eax,(%edx)\n\t" "lock; xaddl %eax,(%edx)\n\t"
......
...@@ -568,7 +568,7 @@ HANDLE WINAPI GetCurrentThread(void) ...@@ -568,7 +568,7 @@ HANDLE WINAPI GetCurrentThread(void)
* SetLastError (KERNEL32.@) * SetLastError (KERNEL32.@)
*/ */
/* void WINAPI SetLastError( DWORD error ); */ /* void WINAPI SetLastError( DWORD error ); */
__ASM_GLOBAL_FUNC( SetLastError, __ASM_STDCALL_FUNC( SetLastError, 4,
"movl 4(%esp),%eax\n\t" "movl 4(%esp),%eax\n\t"
".byte 0x64\n\t" ".byte 0x64\n\t"
"movl %eax,0x34\n\t" "movl %eax,0x34\n\t"
...@@ -579,21 +579,21 @@ __ASM_GLOBAL_FUNC( SetLastError, ...@@ -579,21 +579,21 @@ __ASM_GLOBAL_FUNC( SetLastError,
* GetLastError (KERNEL32.@) * GetLastError (KERNEL32.@)
*/ */
/* DWORD WINAPI GetLastError(void); */ /* DWORD WINAPI GetLastError(void); */
__ASM_GLOBAL_FUNC( GetLastError, ".byte 0x64\n\tmovl 0x34,%eax\n\tret" ) __ASM_STDCALL_FUNC( GetLastError, 0, ".byte 0x64\n\tmovl 0x34,%eax\n\tret" )
/*********************************************************************** /***********************************************************************
* GetCurrentProcessId (KERNEL.471) * GetCurrentProcessId (KERNEL.471)
* GetCurrentProcessId (KERNEL32.@) * GetCurrentProcessId (KERNEL32.@)
*/ */
/* DWORD WINAPI GetCurrentProcessId(void) */ /* DWORD WINAPI GetCurrentProcessId(void) */
__ASM_GLOBAL_FUNC( GetCurrentProcessId, ".byte 0x64\n\tmovl 0x20,%eax\n\tret" ) __ASM_STDCALL_FUNC( GetCurrentProcessId, 0, ".byte 0x64\n\tmovl 0x20,%eax\n\tret" )
/*********************************************************************** /***********************************************************************
* GetCurrentThreadId (KERNEL.462) * GetCurrentThreadId (KERNEL.462)
* GetCurrentThreadId (KERNEL32.@) * GetCurrentThreadId (KERNEL32.@)
*/ */
/* DWORD WINAPI GetCurrentThreadId(void) */ /* DWORD WINAPI GetCurrentThreadId(void) */
__ASM_GLOBAL_FUNC( GetCurrentThreadId, ".byte 0x64\n\tmovl 0x24,%eax\n\tret" ) __ASM_STDCALL_FUNC( GetCurrentThreadId, 0, ".byte 0x64\n\tmovl 0x24,%eax\n\tret" )
#else /* __i386__ */ #else /* __i386__ */
......
...@@ -645,7 +645,7 @@ DEFINE_REGS_ENTRYPOINT( FT_Thunk, 0 ) ...@@ -645,7 +645,7 @@ DEFINE_REGS_ENTRYPOINT( FT_Thunk, 0 )
"leave\n\t" "leave\n\t"
#define DEFINE_FT_Exit(n) \ #define DEFINE_FT_Exit(n) \
__ASM_GLOBAL_FUNC( FT_Exit ## n, FT_EXIT_RESTORE_REGS "ret $" #n ) __ASM_STDCALL_FUNC( FT_Exit ## n, 0, FT_EXIT_RESTORE_REGS "ret $" #n )
DEFINE_FT_Exit(0) DEFINE_FT_Exit(0)
DEFINE_FT_Exit(4) DEFINE_FT_Exit(4)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment