[Mesa-dev] [PATCH] targets/opencl: Fix (static) linking with LLVM (v2)
Emil Velikov
emil.l.velikov at gmail.com
Tue May 20 17:00:53 PDT 2014
On 19/05/14 16:02, 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 Steam just not
> starting, my X starts crashing, whenever libGL fails to load a (32 bit)
> driver.
>
> 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. This means
> linking Mesa statically.
>
> v1 → v2: Move logic to configure.ac
>
> Signed-off-by: Kai Wasserbäch <kai at dev.carbon-project.org>
> ---
>
> Dear Emil,
> I hope this is the right place for adding the two additional modules.
>
> If you accept this patch, please push it for me, I don't have commit access.
>
Hi Kai,
Not a llvm person here, although the patch looks good.
Acked-by: Emil Velikov <emil.l.velikov at gmail.com>
I'm going to commit it by the end of this week unless someone comes
forward/beats me to it.
-Emil
> Cheers,
> Kai
>
>
>
> configure.ac | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/configure.ac b/configure.ac
> index 4e4d761..b4920ba 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1658,6 +1658,13 @@ if test "x$enable_gallium_llvm" = xyes; then
> if $LLVM_CONFIG --components | grep -qw 'option'; then
> LLVM_COMPONENTS="${LLVM_COMPONENTS} option"
> fi
> + # Current OpenCL/Clover and LLVM 3.5 require ObjCARCOpts and ProfileData
> + if $LLVM_CONFIG --components | grep -qw 'objcarcopts'; then
> + LLVM_COMPONENTS="${LLVM_COMPONENTS} objcarcopts"
> + fi
> + if $LLVM_CONFIG --components | grep -qw 'profiledata'; then
> + LLVM_COMPONENTS="${LLVM_COMPONENTS} profiledata"
> + fi
> fi
> DEFINES="${DEFINES} -DHAVE_LLVM=0x0$LLVM_VERSION_INT -DLLVM_VERSION_PATCH=$LLVM_VERSION_PATCH"
> MESA_LLVM=1
>
More information about the mesa-dev
mailing list