This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
RE: Option to automatically generate missing exceptions and methods
- From: Øyvind Harboe <oyvind dot harboe at zylin dot com>
- To: "Jeff Sturm" <jsturm at one-point dot com>
- Cc: <java at gcc dot gnu dot org>
- Date: Wed, 12 Mar 2003 22:59:15 +0100
- Subject: RE: Option to automatically generate missing exceptions and methods
> > Part of the problem of getting GCJ to work can sometimes
> > be that various classes and methods are not supported
> > in Classpath.
>
> -fno-assume-compiled may help, at least when compiling from
> bytecode to native.
Cool!
I was now able to take GCJ for a spin on the Rexx to native
test. GIJ works(see bottom), but the GCJ compiled code crashes.
Thought I'd post the results, in case it has some value w.r.t.
GCJ 3.3 betatesting.
C:\temp\rexx>\thisiscool-gcc\gcc-3.3\bin\gcj -g -fno-assume-compiled netrexxc.jar rexx2nrx.jar -o test.exe --main=qtsmall qtsmall.class
C:\temp\rexx>gdb test
GNU gdb 5.1.1 (mingw experimental)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "mingw32"...
(gdb) run
Starting program: C:\temp\rexx/test.exe
Program received signal SIGSEGV, Segmentation fault.
0x0053e672 in _Jv_MakeVTable(java::lang::Class*) ()
(gdb) thread apply all bt
Thread 2 (thread 3748.0x704):
#0 0x7ffe0304 in ?? ()
#1 0x77e7ac21 in _libwsock32_a_iname ()
#2 0x77e7d33b in _libwsock32_a_iname ()
Thread 1 (thread 3748.0xebc):
#0 0x0053e672 in _Jv_MakeVTable(java::lang::Class*) ()
#1 0x0053ad60 in _Jv_PrepareCompiledClass(java::lang::Class*) ()
#2 0x0053d012 in java::lang::Class::initializeClass() ()
#3 0x00534751 in qtsmall::main(JArray<java::lang::String*>*) ()
at qtsmall.nrx:39
#4 0x0057900c in gnu::gcj::runtime::FirstThread::call_main() ()
#5 0x00543b02 in gnu::gcj::runtime::FirstThread::run() ()
#6 0x005490e7 in _Jv_ThreadRun(java::lang::Thread*) ()
#7 0x00538a22 in _Jv_RunMain(java::lang::Class*, char const*, int, char const**
, bool) ()
#8 0x00538b68 in JvRunMain ()
#9 0x0040127b in main (argc=1, argv=0x3d3e00)
at C:/DOCUME~1/oyvind/LOCALS~1/Temp/cc0Mcaaa.i:11
(gdb)
Example of GIJ working...
C:\temp\rexx>java -cp netrexxc.jar;.;rexx2nrx.jar qtsmall
It's almost eleven o'clock.
C:\temp\rexx>\thisiscool-gcc\gcc-3.3\bin\gij -cp \thisiscool-gcc\gcc-3.3\share\j
ava\libgcj-3.3.jar;netrexx.c.jar;.;rexx2nrx.jar qtsmall
It's just gone ten o'clock.
Øyvind