Crossbuild patch, appropriate for wine?
Robert Shearman
rob at codeweavers.com
Fri Apr 4 08:35:34 CDT 2008
Alexandre Julliard wrote:
> Robert Shearman <rob at codeweavers.com> writes:
>
>> Alexandre Julliard wrote:
>>
>>> I don't think we want to disable exceptions, that will just lead to
>>> broken builds. It should be possible to make the sigsetjmp variant work
>>> for MinGW.
>>>
>> You can make it compile by using sigjmp instead of sigsetjmp, but
>> there's not much point because the code depends on Wine-only functions
>> in ntdll that aren't available on Windows and so would cause the DLLs
>> not to load.
>>
>
> Yes, but the functions could be moved to winecrt0 or something like that
> and get statically linked into the dll.
In the past, I tried using our implementation of
__wine_exception_handler on Windows, but it crashes in these three lines:
> RtlUnwind( frame, 0, record, 0 );
> __wine_pop_frame( frame );
> siglongjmp( wine_frame->jmp, 1 );
The reason is that RtlUnwind clears all general purpose registers (and
maybe changes esp/ebp) so that frame is no longer valid. There may be a
way to work around this, but I'm not sure.
--
Rob Shearman
More information about the wine-devel
mailing list