This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: Reminder: Illegal Package-Private Accesses in libgcj
- From: "Ranjit Mathew" <rmathew at hotmail dot com>
- To: bryce at mckinlay dot net dot nz
- Cc: java at gcc dot gnu dot org
- Date: Mon, 03 Nov 2003 11:53:37 +0530
- Subject: Re: Reminder: Illegal Package-Private Accesses in libgcj
- Bcc:
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!