Bug#319388: [Mesa3d-dev] Bug#319388: [libglu1-xorg] should hide C++ interfaces
On 8/14/07, Michel Dänzer <firstname.lastname@example.org> wrote:
> On Mon, 2007-08-13 at 17:58 -0700, Zack Weinberg wrote:
> I think generally only symbols starting with 'glu[A-Z]' are supposed to
> be public.
> > Second, the bin/mklib script has some internal support for restricting
> > the set of exports (the -exports option) but that feature has a
> > critical bug when used with Linux/Solaris version scripts: it assigns
> > all symbols the same version, derived from the soname. This is wrong.
> > Symbol versions are part of the ABI and need to stay stable once
> > assigned; if a program that wants, say, gluNewQuadric@GLU_1.0 is run
> > with a libglu.so that only has a @GLU_1.1 version, the dynamic linker
> > will barf.
> > My preferred way to deal with this would be to have a GNU-ld-style
> > version script for GLU in the source tree, and document that mklib
> > -exports expects a file in that format. mklib would then convert that
> > to whatever format other platforms' linkers want -- as far as I know,
> > the GNU version script is strictly more featureful than any other
> > similar format. I'm not going to implement the conversions, though;
> > that's for the maintainers of the support for those other platforms.
> > Do you think that would be something you could get back into upstream?
Go ahead and implement it and submit a patch to bugzilla. Sounds good
from your description.