glucose and xgl progress

Gabor Gombas gombasg at
Wed Sep 19 05:34:33 PDT 2007

On Wed, Sep 19, 2007 at 10:20:49AM +0000, José Fonseca wrote:

> However, when loaded, references to __glXFreeContext *inside* 
> are linked to the external __glXFreeContext in

If you have multiple definitions for a symbol it is completely random
which a given reference will resolve to.

Now, the two underscores are a good hint that these are internal symbols
and they should not be exported at all or if they have to, one of them
must be renamed.

> libtool's -export-dynamic flag is not being used. Using libtool's -module 
> flag doesn't change anything.

Does this symbol have to be exported? If no, you should use libtool's
--export-symbol feature to explicitely declare which symbols should be
visible and which should not. In fact, it is always wise to use
--export-symbol when creating shared libraries to prevent ABI breakage
by accidentally exporting private symbols.

If __glXFreeContext should be exported, then it should be decided which
library owns this symbol, and the other must be modified not to export

If it is the case that exports __glXFreeContext but wants to locally override it, and for some reason you
absolutely cannot rename it, then you must use gcc's
__visibility__((__protected__)) attribute when declaring __glXFreeContext
in, but that is not portable to non-ELF platforms and
other compilers and also has run-time performance costs IIRC.


     MTA SZTAKI Computer and Automation Research Institute
                Hungarian Academy of Sciences

More information about the xorg mailing list