From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20089 invoked by alias); 24 Mar 2007 19:58:41 -0000 Received: (qmail 19894 invoked by uid 48); 24 Mar 2007 19:58:25 -0000 Date: Sat, 24 Mar 2007 19:58:00 -0000 Message-ID: <20070324195825.19893.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug java/31325] gcj support for ARM EABI In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "s_j_newbury at yahoo dot co dot uk" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2007-03/txt/msg02314.txt.bz2 ------- Comment #11 from s_j_newbury at yahoo dot co dot uk 2007-03-24 19:58 ------- I have everything built except for libjava/exception.cc which fails as seen below. This I believe is due to the lack of an implementation of _Unwind_Backtrace in the ARM EABI. What needs to be done to address this? Can anybody give me any pointers? In http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29206 Daniel Jackobowitz says "As for ARM, I'm not sure what to do to fix the issue. ARM old ABI is stuck with SJLJ. And the EABI can't implement _Unwind_Backtrace either. I have been speaking with someone at ARM about the ABI implications of this, on and off, but I don't have a lot of hope for it working out without a GNU extension." depbase=`echo jni.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; \ if /bin/sh ./libtool --mode=compile /home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/build/./gcc/xgcc -shared-libgcc -B/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/build/./gcc -nostdinc++ -L/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/build/arm-iwmmxt-linux-gnueabi/libstdc++-v3/src -L/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/build/arm-iwmmxt-linux-gnueabi/libstdc++-v3/src/.libs -B/usr/lib/gcj-4.2.0_beta20070307/arm-iwmmxt-linux-gnueabi/bin/ -B/usr/lib/gcj-4.2.0_beta20070307/arm-iwmmxt-linux-gnueabi/lib/ -isystem /usr/lib/gcj-4.2.0_beta20070307/arm-iwmmxt-linux-gnueabi/include -isystem /usr/lib/gcj-4.2.0_beta20070307/arm-iwmmxt-linux-gnueabi/sys-include -DHAVE_CONFIG_H -I. -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava -I./include -I./gcj -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava -Iinclude -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/include -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/classpath/include -Iclasspath/include -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/classpath/native/fdlibm -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/../boehm-gc/include -I../boehm-gc/include -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/libltdl -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/libltdl -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/.././libjava/../gcc -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"/usr/lib/gcj-4.2.0_beta20070307\"" -DTOOLEXECLIBDIR="\"/usr/lib/gcj-4.2.0_beta20070307/lib\"" -DJAVA_HOME="\"/usr/lib/gcj-4.2.0_beta20070307/jre\"" -DBOOT_CLASS_PATH="\"/usr/lib/gcj-4.2.0_beta20070307/jre/lib/rt.jar\"" -DJAVA_EXT_DIRS="\"/usr/lib/gcj-4.2.0_beta20070307/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"/usr/lib/gcj-4.2.0_beta20070307/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"/usr/lib/gcj-4.2.0_beta20070307/lib/gcj-4.2.0-beta20070307\"" -DPATH_SEPARATOR="\":\"" -DLIBGCJ_DEFAULT_DATABASE="\"/usr/lib/gcj-4.2.0_beta20070307/lib/gcj-4.2.0-beta20070307/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.2.0-beta20070307/classmap.db\"" -O2 -pipe -D_GNU_SOURCE -MT jni.lo -MD -MP -MF "$depbase.Tpo" -c -o jni.lo /home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/jni.cc; \ then mv -f "$depbase.Tpo" "$depbase.Plo"; else rm -f "$depbase.Tpo"; exit 1; fi /home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/build/./gcc/xgcc -shared-libgcc -B/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/build/./gcc -nostdinc++ -L/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/build/arm-iwmmxt-linux-gnueabi/libstdc++-v3/src -L/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/build/arm-iwmmxt-linux-gnueabi/libstdc++-v3/src/.libs -B/usr/lib/gcj-4.2.0_beta20070307/arm-iwmmxt-linux-gnueabi/bin/ -B/usr/lib/gcj-4.2.0_beta20070307/arm-iwmmxt-linux-gnueabi/lib/ -isystem /usr/lib/gcj-4.2.0_beta20070307/arm-iwmmxt-linux-gnueabi/include -isystem /usr/lib/gcj-4.2.0_beta20070307/arm-iwmmxt-linux-gnueabi/sys-include -DHAVE_CONFIG_H -I. -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava -I./include -I./gcj -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava -Iinclude -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/include -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/classpath/include -Iclasspath/include -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/classpath/native/fdlibm -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/../boehm-gc/include -I../boehm-gc/include -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/libltdl -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/libltdl -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/.././libjava/../gcc -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -Wextra -Wall -D_GNU_SOURCE -DPREFIX=\"/usr/lib/gcj-4.2.0_beta20070307\" -DTOOLEXECLIBDIR=\"/usr/lib/gcj-4.2.0_beta20070307/lib\" -DJAVA_HOME=\"/usr/lib/gcj-4.2.0_beta20070307/jre\" -DBOOT_CLASS_PATH=\"/usr/lib/gcj-4.2.0_beta20070307/jre/lib/rt.jar\" -DJAVA_EXT_DIRS=\"/usr/lib/gcj-4.2.0_beta20070307/share/java/ext\" -DGCJ_ENDORSED_DIRS=\"/usr/lib/gcj-4.2.0_beta20070307/share/java/gcj-endorsed\" -DGCJ_VERSIONED_LIBDIR=\"/usr/lib/gcj-4.2.0_beta20070307/lib/gcj-4.2.0-beta20070307\" -DPATH_SEPARATOR=\":\" -DLIBGCJ_DEFAULT_DATABASE=\"/usr/lib/gcj-4.2.0_beta20070307/lib/gcj-4.2.0-beta20070307/classmap.db\" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL=\"gcj-4.2.0-beta20070307/classmap.db\" -O2 -pipe -D_GNU_SOURCE -MT jni.lo -MD -MP -MF .deps/jni.Tpo -c /home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/jni.cc -fPIC -DPIC -o .libs/jni.o depbase=`echo exception.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; \ if /bin/sh ./libtool --mode=compile /home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/build/./gcc/xgcc -shared-libgcc -B/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/build/./gcc -nostdinc++ -L/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/build/arm-iwmmxt-linux-gnueabi/libstdc++-v3/src -L/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/build/arm-iwmmxt-linux-gnueabi/libstdc++-v3/src/.libs -B/usr/lib/gcj-4.2.0_beta20070307/arm-iwmmxt-linux-gnueabi/bin/ -B/usr/lib/gcj-4.2.0_beta20070307/arm-iwmmxt-linux-gnueabi/lib/ -isystem /usr/lib/gcj-4.2.0_beta20070307/arm-iwmmxt-linux-gnueabi/include -isystem /usr/lib/gcj-4.2.0_beta20070307/arm-iwmmxt-linux-gnueabi/sys-include -DHAVE_CONFIG_H -I. -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava -I./include -I./gcj -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava -Iinclude -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/include -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/classpath/include -Iclasspath/include -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/classpath/native/fdlibm -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/../boehm-gc/include -I../boehm-gc/include -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/libltdl -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/libltdl -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/.././libjava/../gcc -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"/usr/lib/gcj-4.2.0_beta20070307\"" -DTOOLEXECLIBDIR="\"/usr/lib/gcj-4.2.0_beta20070307/lib\"" -DJAVA_HOME="\"/usr/lib/gcj-4.2.0_beta20070307/jre\"" -DBOOT_CLASS_PATH="\"/usr/lib/gcj-4.2.0_beta20070307/jre/lib/rt.jar\"" -DJAVA_EXT_DIRS="\"/usr/lib/gcj-4.2.0_beta20070307/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"/usr/lib/gcj-4.2.0_beta20070307/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"/usr/lib/gcj-4.2.0_beta20070307/lib/gcj-4.2.0-beta20070307\"" -DPATH_SEPARATOR="\":\"" -DLIBGCJ_DEFAULT_DATABASE="\"/usr/lib/gcj-4.2.0_beta20070307/lib/gcj-4.2.0-beta20070307/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.2.0-beta20070307/classmap.db\"" -O2 -pipe -D_GNU_SOURCE -MT exception.lo -MD -MP -MF "$depbase.Tpo" -c -o exception.lo /home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/exception.cc; \ then mv -f "$depbase.Tpo" "$depbase.Plo"; else rm -f "$depbase.Tpo"; exit 1; fi /home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/build/./gcc/xgcc -shared-libgcc -B/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/build/./gcc -nostdinc++ -L/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/build/arm-iwmmxt-linux-gnueabi/libstdc++-v3/src -L/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/build/arm-iwmmxt-linux-gnueabi/libstdc++-v3/src/.libs -B/usr/lib/gcj-4.2.0_beta20070307/arm-iwmmxt-linux-gnueabi/bin/ -B/usr/lib/gcj-4.2.0_beta20070307/arm-iwmmxt-linux-gnueabi/lib/ -isystem /usr/lib/gcj-4.2.0_beta20070307/arm-iwmmxt-linux-gnueabi/include -isystem /usr/lib/gcj-4.2.0_beta20070307/arm-iwmmxt-linux-gnueabi/sys-include -DHAVE_CONFIG_H -I. -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava -I./include -I./gcj -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava -Iinclude -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/include -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/classpath/include -Iclasspath/include -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/classpath/native/fdlibm -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/../boehm-gc/include -I../boehm-gc/include -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/libltdl -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/libltdl -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/.././libjava/../gcc -I/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -Wextra -Wall -D_GNU_SOURCE -DPREFIX=\"/usr/lib/gcj-4.2.0_beta20070307\" -DTOOLEXECLIBDIR=\"/usr/lib/gcj-4.2.0_beta20070307/lib\" -DJAVA_HOME=\"/usr/lib/gcj-4.2.0_beta20070307/jre\" -DBOOT_CLASS_PATH=\"/usr/lib/gcj-4.2.0_beta20070307/jre/lib/rt.jar\" -DJAVA_EXT_DIRS=\"/usr/lib/gcj-4.2.0_beta20070307/share/java/ext\" -DGCJ_ENDORSED_DIRS=\"/usr/lib/gcj-4.2.0_beta20070307/share/java/gcj-endorsed\" -DGCJ_VERSIONED_LIBDIR=\"/usr/lib/gcj-4.2.0_beta20070307/lib/gcj-4.2.0-beta20070307\" -DPATH_SEPARATOR=\":\" -DLIBGCJ_DEFAULT_DATABASE=\"/usr/lib/gcj-4.2.0_beta20070307/lib/gcj-4.2.0-beta20070307/classmap.db\" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL=\"gcj-4.2.0-beta20070307/classmap.db\" -O2 -pipe -D_GNU_SOURCE -MT exception.lo -MD -MP -MF .deps/exception.Tpo -c /home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/exception.cc -fPIC -DPIC -o .libs/exception.o /home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/exception.cc:63: error: ISO C++ forbids casting to an array type 'char [8]' /home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/exception.cc:64: error: ISO C++ forbids casting to an array type 'char [8]' /home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/exception.cc:65: error: ISO C++ forbids casting to an array type 'char [8]' /home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/exception.cc:66: error: ISO C++ forbids casting to an array type 'char [8]' /home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/exception.cc:67: error: ISO C++ forbids casting to an array type 'char [8]' /home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/exception.cc:68: error: ISO C++ forbids casting to an array type 'char [8]' /home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/exception.cc:69: error: ISO C++ forbids casting to an array type 'char [8]' /home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/exception.cc:70: error: ISO C++ forbids casting to an array type 'char [8]' /home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/exception.cc: In function 'void _Jv_Throw(java::lang::Throwable*)': /home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/exception.cc:92: error: invalid array assignment /home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/exception.cc: In function '_Unwind_Reason_Code __gcj_personality_v0(int, _Unwind_Action, char*, _Unwind_Control_Block*, _Unwind_Context*)': /home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/exception.cc:205: error: '_URC_FATAL_PHASE1_ERROR' was not declared in this scope /home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/exception.cc:200: warning: unused variable 'ip_before_insn' {standard input}: Assembler messages: {standard input}:2: Error: junk at end of line, first unrecognized character is `*' {standard input}:3: Error: junk at end of line, first unrecognized character is `*' {standard input}:4: Error: bad instruction `_zgan8__jarrayc1ev *INTERNAL*=_ZN8__JArrayC1Ev*INTERNAL*' make[3]: *** [exception.lo] Error 1 make[3]: Leaving directory `/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/build/arm-iwmmxt-linux-gnueabi/libjava' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/build/arm-iwmmxt-linux-gnueabi/libjava' make[1]: *** [all-target-libjava] Error 2 make[1]: Leaving directory `/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/build' make: *** [bootstrap-lean] Error 2 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31325