ld generates static relocations in shared library

Thomas Schmid scth2000@yahoo.de
Fri Sep 6 13:05:00 GMT 2013
Hello Nick,

> >> >Static relocations are processed by a static linker; they are normally either fully resolved or used to produce dynamic relocations

> >> >for processing by a post-linking step or a dynamic loader. A well formed image will have no static relocations after static linking
> >> >is complete,

> Right - but libso.so is not a fully linked binary.  It is a shared 
> library that is going to be used as part of another static link operation.

On the one hand, libso.so is used at static link-time of an executable, as you describe.
But on the other hand, libso.so is installed (=loaded) as dynamic library on the target - 
and that's the point I don't understand: 
What shall the loader do with this static relocations?
Which static relocations can occur in a shared library and must be handled by the loader ?

Thank you for helping,
regards,
Tom



More information about the Binutils mailing list