[Mesa-dev] [PATCH] targets/opencl: Fix (static) linking with LLVM

Emil Velikov emil.l.velikov at gmail.com
Sun May 18 04:01:08 PDT 2014


On 18/05/14 10:37, Kai Wasserbäch wrote:
> Without this, I get linking failures (static linking).
> 
> The static linking is sort of required for me, because otherwise Steam and
> applications using the Steam runtime regularily fail because my LLVM was
> compiled and linked against a newer libgcc_s, libstdc++, etc. and uses
> features from those newer versions. And instead of just not starting, my
> X starts crashing, whenever libGL fails to load a (32 bit) driver.
> 
Hi Kai,

I have been looking into getting rid of those pesky linking issues - static
linking libgcc_s / libstdc++ although I've yet to find a decent solution. If
you've found anything related please let me know.

> Since I hate crashes of X and I don't think Valve/Steam will behave like
> a proper distribution soon (rebuilds versus current Debian Testing, since
> they base their Steam OS off that), I need a radeonsi which carries its
> own LLVM within and doesn't care about what the runtime sets.
> 
> Signed-off-by: Kai Wasserbäch <kai at dev.carbon-project.org>
> ---
>  src/gallium/targets/opencl/Makefile.am |    2 ++
>  1 file changed, 2 insertions(+)
> 
> --- a/src/gallium/targets/opencl/Makefile.am
> +++ b/src/gallium/targets/opencl/Makefile.am
> @@ -31,6 +31,8 @@ lib at OPENCL_LIBNAME@_la_LIBADD = \
>  	-lclangEdit \
>  	-lclangLex \
>  	-lclangBasic \
> +	-lLLVMObjCARCOpts \
> +	-lLLVMProfileData \

I would recommend that you put the libraries in the LLVM_LIBS variable via the
configure.ac script. In there you can check the existing and/or add heuristics
so that the libraries are added when necessary.

Thanks,
Emil

>  	$(LLVM_LIBS)
>  
>  if HAVE_DRI
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 



More information about the mesa-dev mailing list