Porting MS Structured Exception Handling to Linux.

John Johnson jjohnson at hotmail.com
Thu Jul 12 09:23:42 CDT 2001


This is Tervel from a different account.

Actually, I am not using wine.  The reason is mainly that when I started
this project about a month and a half ago, I did not know about wine.  Also
part of the reason is that I wanted to intimately familiarize myself with
linux, POSIX, etc.  Anyways, I am not averse to using wine, and if I have
to, I will.  However, if I just figure out how to do this one little stack
modification assembly thing, everything will be great because it's the last
little bit of the porting effort.

Thanks,

Tervel
"Ove Kaaven" <ovehk at ping.uio.no> wrote in message
news:yuqitgyilrz.fsf at mizar.ping.uio.no...
> TAtanassov at printrak.com (Tervel Atanassov) writes:
>
> > 2. call the Windows API function _set_se_translator(translateException).
>
> That's not a Windows API function. More like a MS Visual C++ runtime
> library function. For a Windows API function, it would be more like
> SetUnhandledExceptionFilter.
>
> You're using Winelib, right? Then you could look at Wine's way of
> handling SEH, include/wine/exception.h, but that's mostly for C
> code, I guess... I'm not sure whether a C++ throw inside an exception
> filter would work. But by all means, use it if it does work.
>
> At least definitely don't use sigaction yourself, or you'll mess up
> Wine's handling of this stuff.
>
> It'd probably be a good idea for an exception guru to implement that
> _set_se_translator in Wine's msvcrt, though, if we can find one...
> then it could create a thunk layer that preserves a register context
> (like the "this" pointer) across a C++ throw from a structured
> exception handler.





More information about the wine-users mailing list