This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
GC symbols no longer exported (on Debian) from libgcj 8 and up
- From: Erik Groeneveld <erik at cq2 dot nl>
- To: java <java at gcc dot gnu dot org>
- Date: Fri, 27 Nov 2009 10:06:16 +0100
- Subject: GC symbols no longer exported (on Debian) from libgcj 8 and up
L.S.,
I have an application that uses libgcj (on Debian) and which needs to
have access to the garbage collector to fine tune things. Up to
libgcj 7, it was possible to create a extern/forward declaration for
e.g. GC_free, and when the application is linked, the symbol would be
resolved correctly.
Starting with libgcj 8 and up, the symbols of libgcj are no longer
exported it seems. On Linux, 'nm' reports that the symbols are of type
't', which means local, while up to libgcj 7, it reported them as 'T',
which means global. Symbols of type 't' are not used for resolving
external symbols, and hence my program does not link anymore.
I dived into the package build for Debian (by Mattias Klose) and found
that lot of things could have caused this behavior. However, what I
can not find out is if this change was intentional or that is is
caused by newer versions of the build tools.
If it was intentional, my question is how I can get access to the GC?
If it is not intentional, my question is if it is appropriate to report a bug?
Best regards
Erik J. Groeneveld