[Mesa-dev] [PATCH] swr: fix swr linkage so that static llvm works

Emil Velikov emil.l.velikov at gmail.com
Mon May 16 20:02:52 UTC 2016


Hi Tim,

On 16 May 2016 at 19:31, Tim Rowley <timothy.o.rowley at intel.com> wrote:
> ---
>  src/gallium/drivers/swr/Makefile.am | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/src/gallium/drivers/swr/Makefile.am b/src/gallium/drivers/swr/Makefile.am
> index 6915aae..0a5ff19 100644
> --- a/src/gallium/drivers/swr/Makefile.am
> +++ b/src/gallium/drivers/swr/Makefile.am
> @@ -102,7 +102,10 @@ rasterizer/jitter/builder_x86.cpp: rasterizer/jitter/scripts/gen_llvm_ir_macros.
>
>  COMMON_LIBADD = \
>         $(top_builddir)/src/gallium/auxiliary/libgallium.la \
> -       $(top_builddir)/src/mesa/libmesagallium.la
> +       $(top_builddir)/src/mesa/libmesagallium.la \
> +       $(LLVM_LIBS)
> +
> +COMMON_LDFLAGS = $(LLVM_LDFLAGS)
>
>  lib_LTLIBRARIES = libswrAVX.la libswrAVX2.la
>
> @@ -117,6 +120,9 @@ libswrAVX_la_SOURCES = \
>  libswrAVX_la_LIBADD = \
>         $(COMMON_LIBADD)
>
> +libswrAVX_la_LDFLAGS = \
> +       $(COMMON_LDFLAGS)
> +
>  libswrAVX2_la_CXXFLAGS = \
>         -march=core-avx2 \
>         -DKNOB_ARCH=KNOB_ARCH_AVX2 \
> @@ -128,4 +134,7 @@ libswrAVX2_la_SOURCES = \
>  libswrAVX2_la_LIBADD = \
>         $(COMMON_LIBADD)
>
> +libswrAVX2_la_LDFLAGS = \
> +       $(COMMON_LDFLAGS)
> +
The patch is obviously correct, so
Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>

Then again, I doubt that this issue is static llvm specific. Most
likely in the shared llvm case, we were producing libraries with
unresolved symbols and those were implicitly resolved by something
else ?

I'd suggest that we add some LDFLAGS to catch that in the future. The
standard boilerplate that we use is below, please tweak as needed.

libvdpau_gallium_la_LDFLAGS = \
       -shared \
       -module \
       -no-undefined \
       -version-number $(VDPAU_MAJOR):$(VDPAU_MINOR) \
       $(GC_SECTIONS) \
       $(LD_NO_UNDEFINED)


Thanks
Emil


More information about the mesa-dev mailing list