Here is the solution we applied in our case. In the library which uses LLVM, we used the following link option:
This instructs the linker to make the LLVM symbols invisible to the outside world. As a result, Gallium3D no longer attempts to use "our" LLVM in llvmpipe.Code:-Wl,--exclude-libs,ALL
I believe we shouldn't have to do that. I see no reason why the LLVM inside Gallium3D should be visible to the outside world at all, or why Gallium3D should interact with the LLVM in the application at all. This is one case where I feel that Gallium3D would be better off linking to LLVM statically and hiding the symbols.
Basically, a graphics driver shouldn't crash an application that happens to use (a possibly different version of) one of the libraries it uses.
What do you think?


penGLVersionFlags() () from /usr/lib/x86_64-linux-gnu/libQtOpenGL.so.4
Reply With Quote
