This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Crash in libjava
- From: Andreas Schwab <schwab at suse dot de>
- To: Jan Hubicka <jh at suse dot cz>
- Cc: gcc at gcc dot gnu dot org
- Date: Sat, 06 Sep 2003 15:04:53 +0200
- Subject: Crash in libjava
The mainline compiler crashes in libjava:
/tmp/cvs/gcc-20030906/Build/gcc/xgcc -shared-libgcc -B/tmp/cvs/gcc-20030906/Build/gcc/ -nostdinc++ -L/tmp/cvs/gcc-20030906/Build/ia64-suse-linux/libstdc++-v3/src -L/tmp/cvs/gcc-20030906/Build/ia64-suse-linux/libstdc++-v3/src/.libs -B/usr/local/ia64-suse-linux/bin/ -B/usr/local/ia64-suse-linux/lib/ -isystem /usr/local/ia64-suse-linux/include -isystem /usr/local/ia64-suse-linux/sys-include -DHAVE_CONFIG_H -I. -I../../../libjava -I./include -I./gcj -I../../../libjava -Iinclude -I../../../libjava/include -I/tmp/cvs/gcc-20030906/boehm-gc/include -DGC_LINUX_THREADS=1 -D_REENTRANT=1 -DTHREAD_LOCAL_ALLOC=1 -DSILENT=1 -DNO_SIGNALS=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1 -DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1 -I../../../libjava/libltdl -I../../../libjava/libltdl -I../../../libjava/.././libjava/../gcc -I../../../libjava/../libffi/include -I../libffi/include -O2 -g -O2 -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -funwind
-tables -W -Wall -D_GNU_SOURCE -DPREFIX=\"/usr/local\" -DLIBDIR=\"/usr/local/lib\" -DBOOT_CLASS_PATH=\"/usr/local/share/java/libgcj-3.4.jar\" -g -O2 -D_GNU_SOURCE -Wp,-MD,.deps/prims.pp -c ../../../libjava/prims.cc -fPIC -DPIC -o .libs/prims.o
In file included from ../../../libjava/include/jvm.h:23,
from ../../../libjava/prims.cc:25:
./include/java-threads.h:228: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
This happens in notice_global_symbol, with decl being this:
<var_decl 0x2000000000b822f0 _Jv_self
type <integer_type 0x20000000004362f0 size_t unsigned asm_written DI
size <integer_cst 0x200000000031cb70 constant 64>
unit size <integer_cst 0x200000000031ccc0 constant 8>
align 64 symtab 4077552 alias set -1 precision 64 min <integer_cst 0x200000000031cd50 0> max <integer_cst 0x200000000031cd80 18446744073709551615>
pointer_to_this <pointer_type 0x20000000009c11e0>>
unsigned public static tree_1 regdecl decl_4 DI file ./include/java-threads.h line 228 size <integer_cst 0x200000000031cb70 64> unit size <integer_cst 0x200000000031ccc0 8>
align 64
(reg/v:DI 13 r13 [ _Jv_self ]) chain <type_decl 0x2000000000b81e10 _Jv_ThreadId_t>>
On ia64 _Jv_self is a global register variable, see
libjava/include/posix-threads.h.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."