From b46cf438f8366e667c08ef2d5464c08b4c656cb1 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Wed, 12 Aug 2009 14:35:43 +0200 Subject: [PATCH] ntdll: Add a ret to DEFINE_REGS_ENTRYPOINT to make copy protections happy. --- dlls/kernel32/kernel_private.h | 3 ++- dlls/ntdll/ntdll_misc.h | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dlls/kernel32/kernel_private.h b/dlls/kernel32/kernel_private.h index 39a5e23c217..20f6399e510 100644 --- a/dlls/kernel32/kernel_private.h +++ b/dlls/kernel32/kernel_private.h @@ -152,7 +152,8 @@ extern HANDLE get_BaseNamedObjects_handle(void); ".byte 0x68\n\t" /* pushl $__regs_func */ \ ".long " __ASM_NAME("__regs_") #name "-.-11\n\t" \ ".byte 0x6a," #args "\n\t" /* pushl $args */ \ - "call " __ASM_NAME("__wine_call_from_32_regs")) + "call " __ASM_NAME("__wine_call_from_32_regs") "\n\t" \ + "ret $(4*" #args ")" ) /* fake ret to make copy protections happy */ #endif #endif diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h index ea2234afe33..06b5d4c7966 100644 --- a/dlls/ntdll/ntdll_misc.h +++ b/dlls/ntdll/ntdll_misc.h @@ -233,7 +233,8 @@ static inline struct ntdll_thread_regs *ntdll_get_thread_regs(void) ".byte 0x68\n\t" /* pushl $__regs_func */ \ ".long " __ASM_NAME("__regs_") #name "-.-11\n\t" \ ".byte 0x6a," #args "\n\t" /* pushl $args */ \ - "call " __ASM_NAME("__wine_call_from_32_regs")) + "call " __ASM_NAME("__wine_call_from_32_regs") "\n\t" \ + "ret $(4*" #args ")" ) /* fake ret to make copy protections happy */ #elif defined(__x86_64__) #define DEFINE_REGS_ENTRYPOINT( name, args ) \ __ASM_GLOBAL_FUNC( name, \