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: Linking with DOM


Tom Tromey wrote:
Per> (I am willing to switch to the new ABI if that is recommded.)

Yeah, you'll probably want to.

In order to support java.endorsed.dirs, we have to compile the DOM and
other XML code BC.  It doesn't really make sense for C++ ABI code to
refer to BC ABI code.

So I tried remaking Kawa: $ make GCJFLAGS='-g -findirect-dispatch'

I get:

../../libtool --mode=compile gcj -g -findirect-dispatch \
-I../.. -I./../.. -c \
Access.java Attribute.java AttrContainer.java ObjectType.java ArrayType.java ClassType.java ConstantPool.java CpoolClass.java CpoolEntry.java CpoolValue1.java CpoolValue2.java CpoolNameAndType.java CpoolRef.java CpoolString.java CpoolUtf8.java Filter.java Location.java Field.java Label.java IfState.java TryState.java SwitchState.java Method.java CodeAttr.java ConstantValueAttr.java LineNumbersAttr.java LocalVarsAttr.java InnerClassesAttr.java MiscAttr.java PrimType.java Scope.java SourceDebugExtAttr.java SourceFileAttr.java Type.java Variable.java VarEnumerator.java ZipArchive.java ZipLoader.java ArrayClassLoader.java ClassFileInput.java ClassTypeWriter.java ExceptionsAttr.java dump.java -o ../../bin/gnu-bytecode.lo
libtool: compile: gcj -g -findirect-dispatch -I../.. -I./../.. -c Access.java Attribute.java AttrContainer.java ObjectType.java ArrayType.java ClassType.java ConstantPool.java CpoolClass.java CpoolEntry.java CpoolValue1.java CpoolValue2.java CpoolNameAndType.java CpoolRef.java CpoolString.java CpoolUtf8.java Filter.java Location.java Field.java Label.java IfState.java TryState.java SwitchState.java Method.java CodeAttr.java ConstantValueAttr.java LineNumbersAttr.java LocalVarsAttr.java InnerClassesAttr.java MiscAttr.java PrimType.java Scope.java SourceDebugExtAttr.java SourceFileAttr.java Type.java Variable.java VarEnumerator.java ZipArchive.java ZipLoader.java ArrayClassLoader.java ClassFileInput.java ClassTypeWriter.java ExceptionsAttr.java dump.java -fPIC -o ../../bin/.libs/gnu-bytecode.o
Type.java: In class 'gnu.bytecode.Type':
Type.java: In method '<clinit>()':
Type.java:393: error: final field 'byte_type' may not have been initialized
Type.java:395: error: final field 'short_type' may not have been initialized
Type.java:397: error: final field 'int_type' may not have been initialized
Type.java:399: error: final field 'long_type' may not have been initialized
Type.java:401: error: final field 'float_type' may not have been initialized
Type.java:403: error: final field 'double_type' may not have been initialized
Type.java:405: error: final field 'boolean_type' may not have been initialized
Type.java:407: error: final field 'char_type' may not have been initialized
Type.java:409: error: final field 'void_type' may not have been initialized
Type.java:426: error: final field 'neverReturnsType' may not have been initialized
Type.java:430: error: final field 'nullType' may not have been initialized
Type.java:434: error: final field 'tostring_type' may not have been initialized
Type.java:437: error: final field 'pointer_type' may not have been initialized
Type.java:439: error: final field 'boolean_ctype' may not have been initialized
Type.java:441: error: final field 'throwable_type' may not have been initialized
Type.java:443: error: final field 'typeArray0' may not have been initialized
Type.java:444: error: final field 'toString_method' may not have been initialized
Type.java:446: error: final field 'number_type' may not have been initialized
Type.java:448: error: final field 'intValue_method' may not have been initialized
Type.java:451: error: final field 'longValue_method' may not have been initialized
Type.java:454: error: final field 'floatValue_method' may not have been initialized
Type.java:457: error: final field 'doubleValue_method' may not have been initialized
Type.java:460: error: final field 'booleanValue_method' may not have been initialized
Type.java:463: error: final field 'java_lang_Class_type' may not have been initialized
ClassType.java: In class 'gnu.bytecode.ClassType':
ClassType.java: In method '<clinit>()':
ClassType.java:50: error: final field 'noClasses' may not have been initialized
Access.java: In class 'gnu.bytecode.Access':
Access.java: In method 'gnu.bytecode.Access.toString(int,char)':
Access.java:49: error: Incompatible type for declaration. Explicit cast needed to convert 'int' to 'short'.
short mask
^
Access.java: In method '<clinit>()':
Access.java:30: error: final field 'CLASS_MODIFIERS' may not have been initialized
Access.java:32: error: final field 'FIELD_MODIFIERS' may not have been initialized
Access.java:35: error: final field 'METHOD_MODIFIERS' may not have been initialized
1 error
make[1]: *** [../../bin/gnu-bytecode.lo] Error 1
make[1]: Leaving directory `/tmp/unmodified/gnu/bytecode'
make: *** [all-recursive] Error 1


Building without -findirect-dispatch works fine, with no warnings,
and creates a working Kawa.

Anything else I need besides -findirect-dispatch?
--
	--Per Bothner
per@bothner.com   http://per.bothner.com/


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