[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#319388: [Mesa3d-dev] Bug#319388: [libglu1-xorg] should hide C++ interfaces



On 8/14/07, Michel Dänzer <michel@tungstengraphics.com> 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.

Right.


> > 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.

-Brian



Reply to: