[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