Module: wine Branch: master Commit: 5c4612b3fae73cca176c970b5dbfdcc3f35c9044 URL: http://source.winehq.org/git/wine.git/?a=commit;h=5c4612b3fae73cca176c970b5d...
Author: Alexandre Julliard julliard@winehq.org Date: Sun Jun 14 15:34:34 2009 +0200
ntoskrnl.exe: Add appropriate stdcall decorations to assembly functions.
---
dlls/ntoskrnl.exe/ntoskrnl.c | 19 +++++++++++++------ 1 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 6371d85..714164e 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -66,18 +66,25 @@ struct IrpInstance
#ifdef __i386__ #define DEFINE_FASTCALL1_ENTRYPOINT( name ) \ - __ASM_GLOBAL_FUNC( name, \ + __ASM_STDCALL_FUNC( name, 4, \ "popl %eax\n\t" \ "pushl %ecx\n\t" \ "pushl %eax\n\t" \ - "jmp " __ASM_NAME("__regs_") #name ) + "jmp " __ASM_NAME("__regs_") #name __ASM_STDCALL(4)) #define DEFINE_FASTCALL2_ENTRYPOINT( name ) \ - __ASM_GLOBAL_FUNC( name, \ + __ASM_STDCALL_FUNC( name, 8, \ "popl %eax\n\t" \ "pushl %edx\n\t" \ "pushl %ecx\n\t" \ "pushl %eax\n\t" \ - "jmp " __ASM_NAME("__regs_") #name ) + "jmp " __ASM_NAME("__regs_") #name __ASM_STDCALL(8)) +#define DEFINE_FASTCALL3_ENTRYPOINT( name ) \ + __ASM_STDCALL_FUNC( name, 12, \ + "popl %eax\n\t" \ + "pushl %edx\n\t" \ + "pushl %ecx\n\t" \ + "pushl %eax\n\t" \ + "jmp " __ASM_NAME("__regs_") #name __ASM_STDCALL(12)) #endif
static inline LPCSTR debugstr_us( const UNICODE_STRING *us ) @@ -745,8 +752,8 @@ void WINAPI IofCompleteRequest( IRP *irp, UCHAR priority_boost ) /*********************************************************************** * InterlockedCompareExchange (NTOSKRNL.EXE.@) */ -#ifdef DEFINE_FASTCALL2_ENTRYPOINT -DEFINE_FASTCALL2_ENTRYPOINT( NTOSKRNL_InterlockedCompareExchange ) +#ifdef DEFINE_FASTCALL3_ENTRYPOINT +DEFINE_FASTCALL3_ENTRYPOINT( NTOSKRNL_InterlockedCompareExchange ) LONG WINAPI __regs_NTOSKRNL_InterlockedCompareExchange( LONG volatile *dest, LONG xchg, LONG compare ) #else LONG WINAPI NTOSKRNL_InterlockedCompareExchange( LONG volatile *dest, LONG xchg, LONG compare )