<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - llvm symbols leak through, cause trouble with software rendering in llvm-linked software"
href="https://bugs.freedesktop.org/show_bug.cgi?id=93103#c9">Comment # 9</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - llvm symbols leak through, cause trouble with software rendering in llvm-linked software"
href="https://bugs.freedesktop.org/show_bug.cgi?id=93103">bug 93103</a>
from <span class="vcard"><a class="email" href="mailto:jfonseca@vmware.com" title="Jose Fonseca <jfonseca@vmware.com>"> <span class="fn">Jose Fonseca</span></a>
</span></b>
<pre>(In reply to Emil Velikov from <a href="show_bug.cgi?id=93103#c6">comment #6</a>)
<span class="quote">> Check, if ever in doubt about the exposed symbols.
>
> libGL itself
> $ nm -CD --defined-only /lib/libGL.so | grep -v " gl"</span >
[...]
>
<span class="quote">> DRI module, used by libGL (do check all the "*_dri.so" found in /lib)
> $ nm -CD --defined-only /lib/xorg/modules/dri/swrast_dri.so</span >
[...]
<span class="quote">>
> As you can see, nothing from LLVM/Clang is explicitly exported/leaked.</span >
My understanding from Tobias description is that the LLVM symbols from
/usr/lib/x86_64-linux-gnu/libLLVM-3.6.so.1 are clashing with a custom LLVM
build for cling -- <a href="https://root.cern.ch/cling-build-instructions">https://root.cern.ch/cling-build-instructions</a>
The real question is what symbols libLLVM-3.6.so provides, and
$ nm -CD --defined-only /usr/lib/x86_64-linux-gnu/libLLVM-3.6.so.1
shows lot of them.
LLVM is used in lots of projects nowadays -- language interpreters, etc. So
are OpenGL drivers -- they get loaded in all sort of processes. So when distro
decided to use a shared LLVM for the opengl drivers to save a few bytes, they
basically gave the finger to everybody who needs to use bleeding edge LLVM and
OpenGL...
(In reply to Emil Velikov from <a href="show_bug.cgi?id=93103#c3">comment #3</a>)
<span class="quote">> > In addition to that, we probably also need to use a LD version script to
> > ensure that LLVM symbols don't pop in the dynamic symbol table.
> We have those for a while. </span >
I'm not sure it helps if the problem is is
/usr/lib/x86_64-linux-gnu/libLLVM-3.4.so.1 . The only solution is if the
system libLLVM-X.X.so an unique symbol version/namespace, or maybe the
RTLD_LOCAL as you mentioned.
<span class="quote">> Atm only the autotools build uses them (hint hint
> scons).</span >
Sure. I'll look into it.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>