[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