This is the mail archive of the
java-prs@gcc.gnu.org
mailing list for the Java project.
[Bug libgcj/29477] [SJLJ EH] JNI broken with certain libs
- From: "mtrudel at gmx dot ch" <gcc-bugzilla at gcc dot gnu dot org>
- To: java-prs at gcc dot gnu dot org
- Date: 24 Feb 2007 09:04:41 -0000
- Subject: [Bug libgcj/29477] [SJLJ EH] JNI broken with certain libs
- References: <bug-29477-13027@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from mtrudel at gmx dot ch 2007-02-24 09:04 -------
The problem is that the new SJLJ backtrace algorithm depends on the typical
function entry sequence "pushl %ebp; movl %esp, %ebp". But while they're always
in our compiled Java code, they are mostly optimized away in JNI libs.
Microsoft Visual C++ mostly removes them in optimization mode -Og (and -Ox
which includes -Og), GCC seems to sometimes remove them in -O2 -O3 and -Os
mode. I think -fno-omit-frame-pointer keeps them for GCC, but I didn't test it.
I think this won't be fixed and we just wait until DWARF EH is finally
available for mingw. Should be soon since it already exists but has not yet
been approved/committed.
--
mtrudel at gmx dot ch changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[MinGW] JNI broken with |[SJLJ EH] JNI broken with
|certain libs |certain libs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29477