From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28695 invoked by alias); 28 Dec 2010 17:36:45 -0000 Received: (qmail 28586 invoked by uid 22791); 28 Dec 2010 17:36:44 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,TW_CX,TW_DC,TW_GC,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail3.caviumnetworks.com (HELO mail3.caviumnetworks.com) (12.108.191.235) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 28 Dec 2010 17:36:39 +0000 Received: from caexch01.caveonetworks.com (Not Verified[192.168.16.9]) by mail3.caviumnetworks.com with MailMarshal (v6,7,2,8378) id ; Tue, 28 Dec 2010 09:37:24 -0800 Received: from caexch01.caveonetworks.com ([192.168.16.9]) by caexch01.caveonetworks.com with Microsoft SMTPSVC(6.0.3790.4675); Tue, 28 Dec 2010 09:36:34 -0800 Received: from dd1.caveonetworks.com ([12.108.191.236]) by caexch01.caveonetworks.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Tue, 28 Dec 2010 09:36:34 -0800 Message-ID: <4D1A2017.3060605@caviumnetworks.com> Date: Tue, 28 Dec 2010 17:36:00 -0000 From: David Daney User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.15) Gecko/20101027 Fedora/3.0.10-1.fc12 Thunderbird/3.0.10 MIME-Version: 1.0 To: majia gm CC: gcc-help@gcc.gnu.org, Java List Subject: Re: NullPointerException throwed when running GCJ References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact java-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: java-owner@gcc.gnu.org X-SW-Source: 2010-12/txt/msg00007.txt.bz2 Adding java@... as this is where java questions are handled. On 12/28/2010 07:05 AM, majia gm wrote: > Hi, everyone. > > I'm porting GCJ to a non-mainstream platform, which is a RISC machine > with some similarity to ARM. > The GCC I'm using is version 4.4.2. I start the porting from ARM's code. > There is quite a bit of work involved in getting libgcj running on a new target. One thing that is obvious from your stack trace is that the stack unwinding code is not decoding the instruction pointer properly. That would be one place to start. Unfortunatly, there isn't really one specific thing we can point you to. You will probably have to step through things with GDB and make sure that are the target specific code is doing the right thing. The boehm-gc may need porting as well. Actually I might start with boehm-gc, I think it has its own test suite, so it can be debugged separately. Then look at all the target specific code for a known working target (arm, mips, x86, etc...) and try to verify that your target code functions correctly. Good Luck, David Daney > When running the GCJ on the target platform, it mentioned that the ECJ > is needed. I don't know whether GCJ can live without ECJ, so I > donwload the latest ECJ jar file and recompiled. > > When running GCJ to compile a JAVA source file, I got the following error. > > [root@localhost pxx]# gcj -C HelloWorld.java -v > Using built-in specs. > Target: unicore32-linux > Configured with: /home/vhome/FengYi/pxx/mydir/gcc-4.4.2/configure > --host=unicore32-linux --target=unicore32-linux --prefix=/usr > --build=i686-redhat-linux-gnu --enable-clocale=gnu --enable-shared > --enable-threads=posix --enable-__cxa_atexit --enable-languages=java > --with-gnu-ld --disable-libstdcxx-pch --disable-multilib > --with-pkgversion=UC4_1.0_gama_20101228 > Thread model: posix > gcc version 4.4.2 (UC4_1.0_gama_20101228) > COLLECT_GCC_OPTIONS='-fsaw-java-file' '-C' '-v' > '-fbootclasspath=./:/usr/share/java/libgcj-4.4.2.jar' '-g1' > '-fsyntax-only' '-femit-class-files' '-S' '-o' 'NONE' '-shared-libgcc' > /usr/libexec/gcc/unicore32-linux/4.4.2/ecj1 HelloWorld.java -g1 > -fbootclasspath=./:/usr/share/java/libgcj-4.4.2.jar -g1 -fsource=1.5 > -ftarget=1.5 -fzip-dependency /tmp/ccTF9EKh.zip > Exception in thread "main" java.lang.ExceptionInInitializerError > at 0x1(Unknown Source) > at 0x3(Unknown Source) > at 0x5(Unknown Source) > at 0x5(Unknown Source) > at 0x5(Unknown Source) > at 0x5(Unknown Source) > at 0x5(Unknown Source) > at 0xffffffffffffffff(Unknown Source) > at 0x2(Unknown Source) > at 0xffffffffffffffff(Unknown Source) > at 0xffffffffffffffff(Unknown Source) > Caused by: java.lang.NullPointerException > at 0x1(Unknown Source) > at 0x5(Unknown Source) > at 0x4(Unknown Source) > ...9 more > > > Could anyone give me some hints on how could this happen? > I really appreciate you patience. >