This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]