A patch for visibility.

H . J . Lu hjl@lucon.org
Mon May 22 08:12:00 GMT 2000


On Mon, May 22, 2000 at 02:52:49PM +0200, Martin von Loewis wrote:
> 
> No, I believe the intent is that visibility should work for undefined
> symbols, as well. It is an error if a hidden or private symbols is not
> present when linking a shared executable. I don't know what should
> happen for a undefined protected symbol - it would probably be ok to
> clear the visibilityl, but it should do no harm to keep it.

That is exactly what prompted me to clear it. The dynamic linker has
to do lots of extra works to deal with "undefined protected symbols"
and there is no such a thing to begin with. For ia32, if an
executable references an object symbol in the shared library,
that symbol will be defined in the executable and the dynamic
linker will make sure the one in the shared library will be used at
the run-time.

> 
> Besides: there are still some systems that use st_other in an other
> meaning. It would probably be good if we treat those gracefully - I
> tried the best I could.

When we decided to use those bits for visibility, those bits will
be used for visibility and nothing else. If some systems uses them
for other purposes, they are broken and should be fixed.


H.J.


More information about the Binutils mailing list