Hi,
Eclipse has now changed their build procedures to bootstrap like so:
A. build ecj itself with a pre-existing java compiler
B. build ecj with output 1.
C. use output of 2. to build rest of Eclipse
We've modified like this:
1. a. build "franken-ecj" with gcj -C
b. natively-compile 1a.
2. a. use output of 1. to build ecj a la A. above
b. natively-compile 2a.
3. a. use output of 2. to build ecj a la B. above
b. natively-compile 3b.
4. use output of 3. to build rest of Eclipse
However, with both gcc head and our latest gcc-java RPMs
(gcc-java-4.0.0-0.33), 3b. is failing for me:
$ gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic -o ecj.withecj.jar.so
ecj.withecj.jar
org/eclipse/jdt/core/CheckDebugAttributes.java: In class
'org.eclipse.jdt.core.CheckDebugAttributes':
org/eclipse/jdt/core/CheckDebugAttributes.java: In constructor '()':
org/eclipse/jdt/core/CheckDebugAttributes.java:0: error: verification failed at PC=5:
premature end of bytecode
org/eclipse/jdt/core/CheckDebugAttributes.java:0: error: verification failed at PC=6:
premature end of bytecode
org/eclipse/jdt/core/CheckDebugAttributes.java:0: error: verification failed at PC=6:
branch to middle of instruction
org/eclipse/jdt/core/CheckDebugAttributes.java:0: error: verification failed at PC=5:
premature end of bytecode
org/eclipse/jdt/core/CheckDebugAttributes.java:0: error: verification failed at PC=6:
premature end of bytecode
org/eclipse/jdt/core/CheckDebugAttributes.java:0: error: verification failed at PC=7:
stack sizes differ
org/eclipse/jdt/core/CheckDebugAttributes.java:0: internal compiler error: Segmentation
fault
As opposed to:
$ gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic -o ecj.withjavac.jar.so
ecj.withjavac.jar
$
Anyone have any ideas? I've put the two jars at [1] until I can narrow it
down for a proper bug report.
Andrew
[1]
http://people.redhat.com/overholt/ecj.withecj.jar
http://people.redhat.com/overholt/ecj.withjavac.jar