TROUBLE with gcj 4.1.1 for arm-wince-pe
Wed Dec 31 16:43:00 GMT 2008
Hello and Happy New Year!
I am trying to bring up gcj 4.1.1 for arm-wince-pe, using binutils
2.18.50. So far C, C++, and the binutils all seem to be working well
for arm-wince-pe (Windows CE 5 and Windows Mobile 5/6). The problems
I'm having are with our older libgcj.
After taking a close look at libgcj/classpath 4.1.1, I decided to try
to reuse our older libgcj that's derived from gcc-3.3. This version
of libgcj has many fixes and enhancements we added, but more
importantly - its use results in much smaller executables.
Porting our old libgcj-3.3 to the new 4.1.1 toolchain was a pretty
straightforward affair. Most of the compilation problems I had to fix
were due to illegal access of private class members and so on. After
a few days of porting work, I had our libgcj-3.3 compiling under
Then all hell broke loose. The linked test programs (e.g.
HelloWorld.java) run, but crash early on in _Jv_CreateJavaVM. An
examination of the situation shows that Java classes seen from the C++
code (e.g. in prims.cc, natClassLoader.cc, natClass.cc and so on) are
really messed up. In one case, with java.lang.reflect.Modifier, I
observed that invoking the method Modifier.isAbstract(int) from C++
results in an ENTIRELY DIFFERENT METHOD being invoked.
It's so screwed up that I am completely lost and need some input. Is
there some *elemental* reason why I can't port libgcj-3.3 to
gcj-4.1.1? Do I have to change some things in the gcj 4.1.1 compiler
build to do this? Where should I look? I am deadly serious about
seeing this effort through to completion, please try to ease the
suffering on this end if you possibly can.
Thanks in advance,
More information about the Java