This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
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.