Kaffe-1.0.b1 for SunOS4 (was: Re: Which platform kaffe works?)

Kiyo Inaba inaba at src.ricoh.co.jp
Sun Jul 19 01:39:09 PDT 1998


>Since I don't have SunOS 4.1.3 in my lab, I start to make kaffe-1.0.0
>on SunOS 4.1.1. Before starting that, I have to make gcc and so on ;-)
>But anyway, I will let you know whether this attempt works or not.

OK, I made gcc-2.8.1 ready on SunOS 4.1.1. The test revealed me some
interesting results. There are 3 things what I have to point out.

1. Compiler pizza.compiler.Main does not work.
On SunOS 4.1.4/gcc-2.8.1
	Kaffe sun.tools.javac.Main HelloWorldApp.java
works fine, but
	Kaffe pizza.compiler.Main HelloWorldApp.java
produces error as,
	HelloWorldApp.java:2: cannot access class String; bad class file (java.lang.NullPointerException: null)
		public static void main (String args[]) {
					 ^
	1 error

2. Statically linked Kaffe complains one unimplemented method.
Even with sun.tools.javac, if I use statically linked version, I got
	Failed to locate native function:
		kaffe/io/ByteToCharDefault.convert([BII[CII)I
	java.lang.UnsatisfiedLinkError
		at java/io/InputStreamReader.read(56)
		at java/io/BufferedReader.refillBuffer(168)
		at java/io/BufferedReader.read(69)
		at sun/tools/java/ScannerInputStream.read(line unknown, pc 20)
		at sun/tools/java/Scanner.useInputStream(line unknown, pc 31)
		at sun/tools/java/Scanner.<init>(line unknown, pc 18)
		at sun/tools/java/Parser.<init>(line unknown, pc 3)
		at sun/tools/javac/BatchParser.<init>(line unknown, pc 3)
		at sun/tools/javac/BatchEnvironment.parseFile(line unknown, pc 2d)
		at sun/tools/javac/Main.compile(line unknown, pc 30d)
		at sun/tools/javac/Main.main(line unknown, pc 32)
error.

In libraries/clib/native/external_wrapper.h includes
	KAFFE_NATIVE(Java_kaffe_io_CharToByteDefault_convert)
but I am not so sure whether this is correct name or not.

3. On SunOS 4.1.1, libnative.so is not properly made.
When I made Kaffe on SunOS 4.1.1 and do
	Kaffe sun.tools.javac.Main HelloWorldApp.java
I got,
	ld.so: mmap bss error (9) for /usr/local/lib/libnative.so
This libnative.so was produced by gnu-ld (GNU ld version 2.8 (with BFD 2.8))
and, when I link this with sun's ld, I got correct result.

In summary, you first try to do following things.
	1. Use gcc-2.7.[12] or gcc-2.8.x as you pointed out
	2. But don't use gnu-ld, you have to use sun-ld.
	3. Make Kaffe to be dynamically linked.
		(Don't use --with-staticlib)
	4. Use sun.tools.javac rather than pizza.compiler.

I know they are just work-arounds, but they make Kaffe to be usable
on SunOS4.

Hope this helps.

Kiyo


More information about the kaffe mailing list