-fexceptions? -fasync-unwind-tables?

Gregory M. Turner gmturner007 at ameritech.net
Tue May 13 23:15:53 CDT 2003


On Tuesday 13 May 2003 03:53 pm, Ulrich Weigand wrote:
> By "unwind tables" the GCC manual means here what the DWARF-2 standard
> calls "Call Frame Information"; they are described in chapter 6.4.

why, thank you, that's helpful.

> What exactly do you want to achieve?

Well, you are probably going to laugh, but now that we are using some 
MIDL-generated code, I'm racking my brains on how to improve the exception 
handling macro's built into wine.  The MIDL-generated code utilizes the 
typical Microsoftian (Borlandian?) try { } except(bool expr) { } / 
try { } finally { } construct.

Possible goals are:

  achieve real "SEH"-style syntax, that is, no bloody __ENDTRY macro.
  
  fix "break"

  fix "return" from try/finally blocks.

Now here comes the part that will make you laugh: I'm supposed to do all this 
without patching gcc, using c++, or doing anything nonportable.  In reality, 
an x86-specific solution that really worked would probably cut the mustard, 
IMO, at least as a starting point for cross-platform support.

I made some proof-of-concept patches which use the existing wine macros and 
various gcc-ism's to achieve some of these goals (they are not "right", of 
course).  I had given up on it, or at least put it on the back burner, but 
Ove's recent DCOM patches inspired me to continue bashing my head against the 
wall...

Anyhow, I'll take a look at the dwarf2 goodies, maybe I'll decide that it's 
do-able, but more trouble than its worth... either way, I intend to make some 
kind of patch out of this whole investigation, as I am pretty darn sure I can 
at least fix one of the forementioned deficiencies, maybe even two, without 
making any major sacrifices.

If I'm lucky, I will stumble upon a solution to all three, but I'm kind of 
learning some of this (OK, all of it ;) ) as I go, and somewhat skeptical of 
my chances...

Knowing you, Dr. Weigand, you probably instantly know how to achieve this, so 
don't worry about spoiling the fun, you can go ahead and tell us ;)

-- 
"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





More information about the wine-devel mailing list