ChangeSet ID: 21046 CVSROOT: /opt/cvs-commit Module name: wine Changes by: julliard(a)winehq.org 2005/11/02 08:18:20 Modified files: dlls/ntdll : resource.c Log message: Robert Shearman <rob(a)codeweavers.com> Make LdrAccessResource call an internal function to satisfy Shrinker. Patch: http://cvs.winehq.org/patch.py?id=21046 Old revision New revision Changes Path 1.15 1.16 +32 -5 wine/dlls/ntdll/resource.c Index: wine/dlls/ntdll/resource.c diff -u -p wine/dlls/ntdll/resource.c:1.15 wine/dlls/ntdll/resource.c:1.16 --- wine/dlls/ntdll/resource.c:1.15 2 Nov 2005 14:18:20 -0000 +++ wine/dlls/ntdll/resource.c 2 Nov 2005 14:18:20 -0000 @@ -318,11 +318,14 @@ NTSTATUS WINAPI LdrFindResource_U( HMODU } -/********************************************************************** - * LdrAccessResource (NTDLL.@) - */ -NTSTATUS WINAPI LdrAccessResource( HMODULE hmod, const IMAGE_RESOURCE_DATA_ENTRY *entry, - void **ptr, ULONG *size ) +/* don't penalize other platforms stuff needed on i386 for compatibility */ +#ifdef __i386__ +NTSTATUS WINAPI access_resource( HMODULE hmod, const IMAGE_RESOURCE_DATA_ENTRY *entry, + void **ptr, ULONG *size ) +#else +static inline NTSTATUS access_resource( HMODULE hmod, const IMAGE_RESOURCE_DATA_ENTRY *entry, + void **ptr, ULONG *size ) +#endif { NTSTATUS status; @@ -355,6 +358,30 @@ NTSTATUS WINAPI LdrAccessResource( HMODU return status; } +/********************************************************************** + * LdrAccessResource (NTDLL.@) + */ +#ifdef __i386__ +/* Shrinker depends on the "call access_resource" instruction being there */ +__ASM_GLOBAL_FUNC( LdrAccessResource, + "pushl %ebp\n" + "movl %esp, %ebp\n" + "pushl 24(%ebp)\n" + "pushl 20(%ebp)\n" + "pushl 16(%ebp)\n" + "pushl 12(%ebp)\n" + "pushl 8(%ebp)\n" + "call access_resource\n" + "leave\n" + "ret\n" +); +#else +NTSTATUS WINAPI LdrAccessResource( HMODULE hmod, const IMAGE_RESOURCE_DATA_ENTRY *entry, + void **ptr, ULONG *size ) +{ + return access_resource( hmod, entry, ptr, size ); +} +#endif /********************************************************************** * RtlFindMessage (NTDLL.@)
participants (1)
-
Alexandre Julliard