This is the mail archive of the java-patches@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]

Re: [BC] Link libs with -Bsymbolic


Tom Tromey writes:
 > >>>>> "Andrew" == Andrew Haley <aph@redhat.com> writes:
 > 
 > Andrew> I wonder if we will ever need to turn -Bsymbolic off?  I
 > Andrew> haven't used it when linking libgcj.so itself: it may not be
 > Andrew> absolutely necessary, and I'm being cautious.
 > 
 > I think we need to consider the use cases we want to support.
 > 
 > E.g., if we want to support replacing a single class from one of the
 > .so files, then we need to compile the objects in that .so with
 > -findirect-dispatch (and then I suppose -Bsymbolic becomes
 > irrelevant).

That's not true.  Any class compiled with -findirect-dispatch MUST
also be compiled with -Bsymbolic because otherwise internal symbols
within a class will be resolved externally.  This is never correct.

 > I've been assuming that for 4.0 we would stick pretty closely to
 > what we've done all along and not make changes to how our shared
 > libraries are built or linked (or split into pieces).  (In other
 > words, not merge the library splitting patch from the GUI branch.)
 > It is pretty late to consider big changes here, and the indirect
 > dispatch code is new enough that I'd rather not enable it for the
 > core.

If indirect dispatch is to work, all libraries except perhaps libgcj
itself muct be compiled with -Bsymbolic.

Andrew.


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