[PATCH] D18269: [ELF] - -rpath-link "implemented"

Joerg Sonnenberger via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 22 12:37:22 PDT 2016


On Tue, Mar 22, 2016 at 06:20:21PM +0100, Rui Ueyama wrote:
> On Tue, Mar 22, 2016 at 2:45 PM, Joerg Sonnenberger via llvm-commits <
> > This is not about resolving undefined symbols in shared libraries, it is
> > about loading the right set of shared libraries in first place. If
> > libfoo links against libbar and the linker sees -lfoo, it should behave
> > as if -lbar was also used. There is some disagreement around binutils
> > folks insisting on spewing warnings about using symbols from libbar when
> > only linking against libfoo, but that's a different topic. It remains
> > that the namespace is defined as closure of the DT_NEEDED.
> >
> 
> Where is that documented and who's depending on that?

"Shared Object Dependencies" in the original ELF specification. The
depth-first search only really matters for copy relocations when you
have more than one definition, which is likely a bug in first place. But
scanning all nodes in the tree before throwing an undefined error
matters quite a bit. A lot of software depends a lot and has to be
"fixed" when dealing with one of the (broken, IMO) newer versions of
binutils.

Joerg


More information about the llvm-commits mailing list