This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: Debugging libgcj on cygwin
- From: Jeff Sturm <jsturm at one-point dot com>
- To: Thomas Pfaff <tpfaff at gmx dot net>
- Cc: java at gcc dot gnu dot org, Danny Smith <dannysmith at clear dot net dot nz>
- Date: Mon, 30 Jun 2003 23:37:15 -0400 (EDT)
- Subject: Re: Debugging libgcj on cygwin
On Mon, 30 Jun 2003, Thomas Pfaff wrote:
> An attempt to load and run this class via _Jv_InterpMethod::run is made.
> A call to java::lang::Thread *thread = java::lang::Thread::currentThread
> is made which returns NULL since the main thread is not initialized yet
> (a call to _Jv_AttachCurrentThread will be later done in _Jv_RunMain,
> the backtrace above shows that it is still in _Jv_CreateJavaVM).
Good analysis, thanks.
> What makes me wonder is that this seems to happen only on cygwin.
You'd expect to see it anywhere with static linking, but, for whatever
reason Cygwin seems to be choosing a default file.encoding of ASCII
instead of the usual 8859_1. The latter encoder tends to always link in
static builds.
This patch from mainline may help:
2003-06-12 Andrew Haley <aph@redhat.com>
* prims.cc (catch_segv): Create exception in handler.
(catch_fpe): Likewise.
(_Jv_divI, _Jv_remI, _Jv_divJ, _Jv_remJ): Likewise.
(_Jv_ThrowSignal): Remove.
* include/x86_64-signal.h (INIT_SEGV): Delete reference to nullp.
* include/default-signal.h (INIT_SEGV, INIT_FPE): Delete reference
to nullp and arithexception.
* include/dwarf2-signal.h (INIT_SEGV, INIT_FPE): Likewise.
* include/i386-signal.h (INIT_SEGV, INIT_FPE): Likewise.
* include/s390-signal.h (INIT_SEGV, INIT_FPE): Likewise.
* include/sparc-signal.h (INIT_SEGV, INIT_FPE): Likewise.
* include/win32-signal.h (INIT_SEGV, INIT_FPE): Likewise.
If so, backporting Andrew's patch to 3.3 is one solution.
Jeff