David,
(For those not reading my desparate attempts on the GC list:)
I'm trying to trace some stuff in the garbage collector being
responsible for doubling my GC times.
In that attempt Hans Boehm has guided me into using the method
"gcj_describe_type_fn" defined in "libjava/boehm.cc" - defined for
newer releases, that is. Now, I'm quite stuck with the 3.4.x branch,
hence this method is not there.
So I just patched it in from SVN trunk (though removing the
static'ness), and everything (boehm and libjava) compiles just fine.
However, the minute I try to compile my own application, I get the
following error message:
--- 8< 8< 8< ---
lib/libgcj.so: undefined reference to `gcj_describe_type_fn'
collect2: ld returned 1 exit status
--- 8< 8< 8< ---
I don't know for sure, but the object file containing the definition
of that function should probably be in:
libgcjgc_convenience.a
You may want to use nm to confirm that that symbol is defined in said
library.
$ powerpc-405-linux-gnu-nm libgcjgc_convenience.a | grep gcj_
gcj_mlc.o:
000006f4 T GC_debug_gcj_fast_malloc
0000046c T GC_debug_gcj_malloc
00000004 C GC_gcj_debug_kind
000005dc T GC_gcj_fast_malloc
00000004 C GC_gcj_kind
000002f4 T GC_gcj_malloc
00000870 T GC_gcj_malloc_ignore_off_page
00000000 S GC_gcj_malloc_initialized
00000004 T GC_init_gcj_malloc
U gcj_describe_type_fn
^^^^^^^^^^^^^^^^^^^^
Looks like it, yes...