Alexandre Julliard wrote: > Robert Shearman <[EMAIL PROTECTED]> 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
