[Mesa-dev] [Bug 93103] llvm symbols leak through, cause trouble with software rendering in llvm-linked software

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Jan 2 08:59:57 UTC 2017


https://bugs.freedesktop.org/show_bug.cgi?id=93103

--- Comment #17 from fiach.antaw at gmail.com ---
I've run into a variant of this bug where when using swrast, symbols from a
shared object linked by LLVM (libedit) conflict with symbols from a shared
object used by a client application (readline/python). In general opening a
shared object with RTLD_GLOBAL appears to propagate that flag to all
dependencies of that object, which means that even with LLVM adopting versioned
symbols problems may still occur due to LLVM dependencies. I've attached a
reduced test-case which shows the issue (llvm-libedit-bug.py).

Is it possible to dlopen DRI drivers as RTLD_LOCAL? The original RTLD_LOCAL
patch had to be reverted (#79469) due to client software not dlopening
libglapi.so, but opening the DRI drivers as RTLD_LOCAL seems like it should
still work.

Failing that, if building with --disable-llvm-shared-libs fixes the issue, it
should either be the default or (preferably) required. Unfortunately I can't
seem to get that option to work for me on
62a819184141133478cfdcfa76b62d5bb7e14fd5 with the set of configure options
listed below (ldd shows that swrast_dri.so still imports libLLVM-3.9.so.1, and
the test case still fails with the same root cause):

./configure --build=x86_64-linux-gnu \
        --prefix=/usr \
        --includedir=/usr/include \
        --mandir=/usr/share/man \
        --infodir=/usr/share/info \
        --sysconfdir=/etc \
        --localstatedir=/var \
        --disable-silent-rules \
        --libdir=/usr/lib/x86_64-linux-gnu \
        --libexecdir=/usr/lib/x86_64-linux-gnu \
        --disable-dependency-tracking \
        --disable-llvm-shared-libs \
        "--with-dri-drivers= nouveau i915 i965 r200 radeon" \
        --with-dri-driverdir=/usr/lib/x86_64-linux-gnu/dri \
        --with-dri-searchpath=/usr/lib/x86_64-linux-gnu/dri:/usr/lib/dri \
        --with-sha1=libmd \
        "--with-vulkan-drivers= intel radeon" \
        --enable-osmesa \
        --enable-texture-float \
        --disable-xvmc \
        --enable-driglx-direct \
        --enable-dri3 \
        "--with-egl-platforms=x11 wayland drm" \
        --enable-xa \
        --enable-opencl \
        --enable-opencl-icd \
        --enable-gallium-llvm \
        --enable-vdpau \
        --enable-va \
        --enable-gallium-extra-hud \
        --enable-lmsensors \
        "--with-gallium-drivers= nouveau svga virgl r600 r300 radeonsi swrast"
\
        ac_cv_path_LLVM_CONFIG=llvm-config-3.9

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170102/c79685fe/attachment.html>


More information about the mesa-dev mailing list