java in gcc-2.95 release on Linux - not so good

Lincoln Spiteri lincoln.spiteri@st.com
Fri Aug 6 00:03:00 GMT 1999


Ho, 

Try unsetting your CLASSPATH (export CLASSPATH=) and recompile. That might
help.

Lincoln

On Thu, 05 Aug 1999, ashe@boulder.qms.com wrote:
> Relative to gcc-2.95 release built on RH6.1 (PPro) ---->
> 
> 
> public class HelloWorld {
>     public static void main(String[] args) {
> 	System.out.println("Hello, world");
>     }
> }
> 
> produces some 240000 bytes of output.  This piece of gdb dump sheds some light
> on the problem:
> 
> #0  0x4008fb66 in gnu::gcj::convert::Output_8859_1::write (this=@8065f60,
>     inbuffer=@8062f60, inpos=84043, inlength=512)
>     at ../../../libgcj-2.95/libjava/gnu/gcj/convert/Output_8859_1.java:33
> #1  0x400a7195 in java::io::PrintStream::writeChars (this=@8061de0,
>     buf=@8062f60, offset=83968, count=134539104)
>     at ../../../libgcj-2.95/libjava/java/io/PrintStream.java:108
> #2  0x400a6f6c in java::io::PrintStream::print (this=@8061de0, chars=@8062f60,
>     pos=0, len=134623072, println=true)
>     at ../../../libgcj-2.95/libjava/java/io/PrintStream.java:80
> #3  0x400a7a4c in java::io::PrintStream::println (this=@8061de0,
>     charArray=@8062f60)
>     at ../../../libgcj-2.95/libjava/java/io/PrintStream.java:231
> 
> gotta love that byte count (134539104) as what the compiler produces for
> chars.length in frame 2.
> 
> Likewise,
> public class HelloWorld {
>     public static void main(String[] args) {
> 	System.out.println(3);
>     }
> }
> 
> produces the curious output:
> 4.2038954E-45
> 
> These were compiled as
> gcj -g HelloWorld.java --main=HelloWorld 
> 
> and their libraries are:
>         libgcj.so.0 => /usr/local/lib/libgcj.so.0 (0x40018000)
>         libm.so.6 => /lib/libm.so.6 (0x40184000)
>         libgcjgc.so.0 => /usr/local/lib/libgcjgc.so.0 (0x401a0000)
>         libzgcj.so.0 => /usr/local/lib/libzgcj.so.0 (0x401bb000)
>         libdl.so.2 => /lib/libdl.so.2 (0x401c9000)
>         libc.so.6 => /lib/libc.so.6 (0x401cc000)
>         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
> 
> Static compilations give the same results.
> 
> gcc-2.95 was built from its release with --enable-java-gc=boehm in gcc.
> libgcj was built with
> --enable-java-gc=boehm --enable-fast-char --enable-threads=none
> 
> By the way, building gcc-2.95 with --enable-shared fails to build some
> part of stdlibc++-3* 
> This is on RH6.1 with a clean /usr/local
> 
> -Steve Ashe
> ashe@qms.com
--
------------------------------------------------------------------------------

Lincoln Spiteri

Manufacturing Systems
STMicroelectronics, Malta

e-mail: lincoln.spiteri@st.com

------------------------------------------------------------------------------


More information about the Java mailing list