-fexceptions? -fasync-unwind-tables?

Steven Edwards steven_ed4153 at yahoo.com
Mon May 12 08:37:20 CDT 2003


Note: I know nothing of exception handling.

Your only option for __try and friends may be fixing gcc. There is a SEH patch for Mingw/gcc that
one of the ReactOS developers wrote. There are issues with it not to mention legal issues as
borland has a patent on SEH in C. If I am understanding what WINE and ReactOS needs it is C++
style exception handling in C and Capsers SEH patch does a lot of this.

Thanks
Steven

--- "Gregory M. Turner" <gmturner007 at ameritech.net> wrote:
> 
> OK, as you may have guessed, I'm still driving myself insane trying to fix 
> __try and friends.  I have some other less promising ideas on the backburner; 
> this one seemed to have sufficient potential that I thought I would ask the 
> group to let me know what they think.
> 
> In short: gcc accepts the above options.  The first, is considered to be a C++ 
> compatibility mode in C.  That is to say, it provides the right glue such 
> that exceptions can unwind through calls to C libraries.  If /any/ library in 
> the call-chain leaves this option out, I'm afraid it breaks down.
> 
> The second, -fasync-unwind-tables, provides "dwarf2 unwind tables".  I've 
> looked through the dwarf2 spec and some other sources, but I have yet to find 
> solid documentation for this... perhaps it's a "use the source, Luke" 
> situation.  But this second option promises "instruction-granularity" unwind 
> tables of some kind.  IOW, presumably, this would be enough to implement 
> __try and friends without looking beyond the stack pointer.
> 
> As for the idea of stealing the return pointer on the stack.  I like it even 
> less now.  It appears that signal handlers are allowed to clobber the stack 
> above the SP on some architectures, which means we're pretty much up a creek.
> There still might be some ultra-clever work-around involving copying the 
> current stack frame, but I think we would at least have to create our own 
> trampolines in asm, which, I fear, might break in subsequent gcc releases...
> 
> So... anybody know where these options are actually documented?  I mean, I see 
> the blurb in the info pages, which is enticing, but surely there is some API 
> or datastructure to look at somewhere....
> 
> -- 
> "Security is mostly superstition. It does not exist in nature,
> nor do the children of men as a whole experience it. Avoiding
> danger is no safer in the long run than outright exposure. Life is
> either a daring adventure, or nothing. To keep our faces toward
> change and behave like free spirits in the presence of fate is
> strength undefeatable." --Helen Keller
> 
> gmt
> 
> 
> 


__________________________________
Do you Yahoo!?
The New Yahoo! Search - Faster. Easier. Bingo.
http://search.yahoo.com



More information about the wine-devel mailing list