[LLVMdev] Shared libraries, msan and -z,defs

Reid Kleckner rnk at google.com
Thu Jan 22 09:40:33 PST 2015


On Thu, Jan 22, 2015 at 2:33 AM, Evgeniy Stepanov <eugenis at google.com>
wrote:

> On Wed, Jan 21, 2015 at 8:46 PM, Rafael EspĂ­ndola
> <rafael.espindola at gmail.com> wrote:
> >> What about creating an msan interface DSO for the purposes of
> satisfying -z
> >> defs? The executable will always be searched first, so the interface DSO
> >> could be empty or full of ud2a.
> >
> > I like the idea. The ideal solution would probably be for the linkers
> > to have a --not-needed command line option that prevents the .so from
> > going in the DT_NEEDED, but one with just stubs is probably fine.
>
> But then the program would fail to start if the (empty) interface
> library is not available at runtime library search path.
> Which is the common situation, unless you install clang as a
> system-wide compiler. This will create lots of deployment problems.


True, but it's only a headache for people using -z defs.

I'm surprised there isn't a linker option we can use like '-u
__msan_memcpy' to say "yeah, this symbol is undefined, but it's expected to
be present at runtime".
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150122/4f49fa02/attachment.html>


More information about the llvm-dev mailing list