linking libgcj.a

abhishek desai <[email protected]>
Newsgroups gmane.comp.gcc.java.devel
Message-ID <[email protected]>
Hi,

I have a program mytest.c which is calling JNI_CreateJavaVM. I am
using gcc 3.4.6. During my compilation I am adding the libgcj.a
library to the compilation because I want the libgcj.a to be a part of
the main application. I am using the below command to compile.

gcc mytest.c libgcj.a -o mytest -ldl -lm -lpthread

This compiles correctly but the application crashes and I get a
coredump as below.

#0  0x0053b020 in GC_FirstDLOpenedLinkMap () at
/root/mipsel/buildroot-2009.02/toolchain_build_mipsel/gcc-3.4.6/boehm-gc/dyn_load.c:486
#1  0x0053b0d4 in GC_register_dynamic_libraries () at
/root/mipsel/buildroot-2009.02/toolchain_build_mipsel/gcc-3.4.6/boehm-gc/dyn_load.c:506
#2  0x00537478 in GC_cond_register_dynamic_libraries () at
/root/mipsel/buildroot-2009.02/toolchain_build_mipsel/gcc-3.4.6/boehm-gc/mark_rts.c:553
#3  0x00537fe0 in GC_stopped_mark (stop_func=0x537b00 <GC_never_stop_func>)
    at /root/mipsel/buildroot-2009.02/toolchain_build_mipsel/gcc-3.4.6/boehm-gc/alloc.c:479
#4  0x00539014 in GC_try_to_collect_inner (stop_func=0x537b00
<GC_never_stop_func>)
    at /root/mipsel/buildroot-2009.02/toolchain_build_mipsel/gcc-3.4.6/boehm-gc/alloc.c:364
#5  0x0053c1e0 in GC_init_inner () at
/root/mipsel/buildroot-2009.02/toolchain_build_mipsel/gcc-3.4.6/boehm-gc/misc.c:758
#6  0x0053c3f8 in GC_init () at
/root/mipsel/buildroot-2009.02/toolchain_build_mipsel/gcc-3.4.6/boehm-gc/misc.c:477
#7  0x0052d59c in GC_init_gcj_malloc (mp_index=0, mp=0x52ab30) at
/root/mipsel/buildroot-2009.02/toolchain_build_mipsel/gcc-3.4.6/boehm-gc/gcj_mlc.c:60
#8  0x0052be98 in _Jv_InitGC () at
/root/mipsel/buildroot-2009.02/toolchain_build_mipsel/gcc-3.4.6/libjava/boehm.cc:526
#9  0x00548310 in _Jv_CreateJavaVM () at
/root/mipsel/buildroot-2009.02/toolchain_build_mipsel/gcc-3.4.6/libjava/prims.cc:907
#10 0x004a39d0 in JNI_CreateJavaVM (vm=0x7ff8acfc, penv=0x7ff8acf8, args=0x0)
    at /root/mipsel/buildroot-2009.02/toolchain_build_mipsel/gcc-3.4.6/libjava/jni.cc:2422
#11 0x0049f820 in start ()
#12 0x0049fa38 in main ()

This works fine if the libgcj is loaded as a shared library. Can I not
link the libgcj.a into the application while compiling ?

Abhishek
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.