Reminder: Illegal Package-Private Accesses in libgcj
Ranjit Mathew
rmathew@hotmail.com
Mon Nov 3 06:23:00 GMT 2003
>I havn't added any support for using backtrace() or platform-specific
>unwinding code at this time. Ideally win32 will switch to using the DWARF2
>unwinder. It doesn't look like there is much missing - libffi unwind
>information, and an MD_FALLBACK_FRAME_STATE_FOR or equivalent? If there are
>targets that will never support the unwinder (are there?), then it might
>make sense to allow platforms to define some platform-specific unwinding
>functions, but ideally, by far the cleanest and most efficient solution is
>to get the libgcc DWARF2 unwinder working.
GCC on Win32 (MinGW, and perhaps Cygwin) used
DW2 EH till sometime back and had to switch to SJLJ
because of a glitch - when an exception is thrown
from a GUI callback function, the program used to
abort, even though there was an enclosing try/catch
block around the message-processing event loop.
The problem was that the callback was called
from within Win32 OS/system-lib code that
of course didn't have any EH frame information
causing the libgcc unwinder to abort the program.
The fix probably would have been to write
a (perhaps complicated) MD_FALLBACK_FRAME_STATE_FOR
for this and other such scenarios.
The problematic code idiom seems to be common
for Win32 GUI programs in C++, making DW2
useless for MinGW for the time being.
Ranjit.
_________________________________________________________________
Pinjar is a classic! Check out the making of this film.
http://server1.msn.co.in/sp03/Pinjar/index.asp Simply click here!
More information about the Java
mailing list