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: [BUG] building libjava with -Os


Could you post a bug report to gcc.gnu.org/bugzilla?

Thanks

Bryce


DHollenbeck wrote:


On x86 linux 2.6.x using gcc 3.4.2 or 3.4.1 the -Os option causes a bad libgcj.so.5.0.0 image to be built.

The symptom of the problem is a NullPointerException in Calendar property file lookup, exhibited by the following program:

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

import java.text.SimpleDateFormat;

public class Test
{
 public static void main( String[] args )
 {
   System.out.println("before");  System.out.flush();

   SimpleDateFormat dateFormatter =
               new SimpleDateFormat( "yy-MMM-dd HH:mm" );

   System.out.println("after");  System.out.flush();
 }
}

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

Running the above program with the bad libgcj.so.5.0.0 gives the

"before"

output, then the NullPointerException somewhere in the Calendar property file lookup.

If you build the libgcj with "-g3 -O2" instead of "-g3 -O2", then all is well.

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

$ gcj Test.java -o test.prog --main=Test

Here is my configure script:

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

#!/bin/sh

# See this URL for instructions on what this all means:
# http://gcc.gnu.org/install/

GCJFLAGS="-g3 -O2"        # works ok
#GCJFLAGS="-g3 -Os"       # causes NullPointerException in Test.java


#SRCDIR=/rt/gcc-3.4.1 SRCDIR=/rt/gcc-3.4.2 #SRCDIR=/rt/gcc-4.0-20040919

if [ -z $BUILDDIR ]; then
   BUILDDIR=gccbuild
fi

if [ ! -e $BUILDDIR ]; then
   mkdir $BUILDDIR
fi

PWD=`pwd`
cd $BUILDDIR

if [ "$1" = "distclean" ]; then
   shift
   make distclean
   find . -name config.cache -exec rm -f {} \;
fi

if [ "$1" = "configure" ]; then
   shift
   $SRCDIR/configure -v --enable-languages=c,c++,java \
   --prefix=/rt/gcc --enable-threads=posix \
   --with-system-zlib --enable-nls --without-included-gettext \
   --enable-libgcj-debug \
   --enable-__cxa_atexit --enable-clocale=gnu \
   --without-x --disable-java-awt --disable-gtk-cairo --with-gnu-ld \
   i486-linux
fi

if [ "$1" = "build" ]; then
   shift
   make  GCJFLAGS="$GCJFLAGS" \
      LIBCXXFLAGS='-g -O2 -fno-implicit-templates' bootstrap
fi

if [ "$1" = "install" ]; then
   shift
   make install
fi

cd $PWD




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