Aric Stewart aric@codeweavers.com writes:
This makes is a properly allocated object
It doesn't work:
../../../tools/runtest -q -P wine -T ../../.. -M dwrite.dll -p dwrite_test.exe.so layout && touch layout.ok wine: Unhandled page fault on execute access to 0x00000001 at address 0x1 (thread 0037), starting debugger... Unhandled exception: page fault on execute access to 0x00000001 in 32-bit code (0x00000001). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:00000001 ESP:0032fc2c EBP:0032fc48 EFLAGS:00010202( R- -- I - - - ) EAX:0012b780 EBX:686675ac ECX:0032fca0 EDX:001100f8 ESI:0012e988 EDI:0012e980 Stack dump: 0x0032fc2c: 6865b668 0012b780 0012b780 0032fc88 0x0032fc3c: 6865b857 6863464d 00000000 0032fc88 0x0032fc4c: 6865b715 00110000 00000000 0012b780 0x0032fc5c: 68636210 6863464d 68634632 0012b780 0x0032fc6c: 00000000 6863464d 68634632 0032fca0 0x0032fc7c: 68636210 6863464d 68634632 0032fd48 Backtrace: =>0 0x00000001 (0x0032fc48) 1 0x6865b715 dwritetextformat_Release+0x44() in dwrite (0x0032fc88) 2 0x686309d5 func_layout+0x864() [/home/julliard/wine/wine/dlls/dwrite/tests/../../../include/dwrite.h:3596] in dwrite_test (0x0032fd48) 3 0x6862a0af main+0x37e(argc=<is not available>, argv=<is not available>) [/home/julliard/wine/wine/dlls/dwrite/tests/../../../include/wine/test.h:584] in dwrite_test (0x0032fe18) 4 0x686335a0 __wine_spec_exe_entry+0x7f(peb=<couldn't compute location>) [/home/julliard/wine/wine/dlls/winecrt0/exe_entry.c:36] in dwrite_test (0x0032fe58) 5 0x7b85f54c call_process_entry+0xb() in kernel32 (0x0032fe78) 6 0x7b860593 start_process+0x62(peb=<couldn't compute location>) [/home/julliard/wine/wine/dlls/kernel32/process.c:1097] in kernel32 (0x0032feb8) 7 0x7bc7fba0 call_thread_func_wrapper+0xb() in ntdll (0x0032fed8) 8 0x7bc82b4d call_thread_func+0x7c(entry=0x7b860530, arg=0x7ffdf000, frame=0x32ffc8) [/home/julliard/wine/wine/dlls/ntdll/signal_i386.c:2637] in ntdll (0x0032ffa8) 9 0x7bc7fb7e call_thread_entry_point+0x11() in ntdll (0x0032ffc8) 10 0x7bc53fee start_process+0x1d(kernel_start=0x7b860530) [/home/julliard/wine/wine/dlls/ntdll/loader.c:2856] in ntdll (0x0032ffe8) 11 0x680316dd wine_call_on_stack+0x1c() in libwine.so.1 (0x00000000) 12 0x6803179b wine_switch_to_stack+0x2a(func=0x7bc53fd0, arg=0x7b860530, stack=0x330000) [/home/julliard/wine/wine/libs/wine/port.c:59] in libwine.so.1 (0xffc74fc8) 13 0x7bc59ae9 LdrInitializeThunk+0x238(kernel_start=<couldn't compute location>, unknown2=<couldn't compute location>, unknown3=<couldn't compute location>, unknown4=<couldn't compute location>) [/home/julliard/wine/wine/dlls/ntdll/loader.c:2910] in ntdll (0xffc75008) 14 0x7b866db3 __wine_kernel_init+0xa02() [/home/julliard/wine/wine/dlls/kernel32/process.c:1269] in kernel32 (0xffc75f08) 15 0x7bc5a9e3 __wine_process_init+0x192() [/home/julliard/wine/wine/dlls/ntdll/loader.c:3119] in ntdll (0xffc75f98) 16 0x6802ede8 wine_init+0x2c7(argc=0x3, argv=0xffc764d4, error="", error_size=0x400) [/home/julliard/wine/wine/libs/wine/loader.c:958] in libwine.so.1 (0xffc75ff8) 17 0x7bf00d6c main+0x7b(argc=<is not available>, argv=<is not available>) [/home/julliard/wine/wine/loader/main.c:237] in <wine-loader> (0xffc76438) 18 0x682518c5 __libc_start_main+0xf4() in libc.so.6 (0x00000000)