This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]