[Mesa-dev] [PATCH] swr: use the correct variable for no undefined symbols

Eric Engestrom eric.engestrom at imgtec.com
Fri Jul 21 14:06:02 UTC 2017


On Friday, 2017-07-21 13:53:07 +0100, Emil Velikov wrote:
> From: Emil Velikov <emil.velikov at collabora.com>
> 
> The variable name was missing a leading LD_, which resulted in the
> backend binaries having unresolved symbols.
> 
> Thanks to Laurent for the list.
> 
> The fix is applicable for stable as well, although the actual pthread
> linking may not be. That plus additional [missing] links will be
> resolved in that branch.
> 
> Cc: mesa-stable at lists.freedesktop.org
> Cc: Bruce Cherniak <bruce.cherniak at intel.com>
> Cc: Tim Rowley <timothy.o.rowley at intel.com>
> Cc: Laurent Carlier <lordheavym at gmail.com>
> Reported-by: Laurent Carlier <lordheavym at gmail.com>
> Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
> ---
> Laurent, the output of `ldd -r $binary` should be free of undefined
> symbols. Can you give it a quick test?
> 
> Tim, Bruce - the new backends might need the PTHREAD* bits.
> The SCons build has the -Wl,no-undef... parts but one might want to
> double-check the binaries it produced.
> 
> Thanks
> ---
>  src/gallium/drivers/swr/Makefile.am | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/src/gallium/drivers/swr/Makefile.am b/src/gallium/drivers/swr/Makefile.am
> index 74612280fe7..3bffa9595d5 100644
> --- a/src/gallium/drivers/swr/Makefile.am
> +++ b/src/gallium/drivers/swr/Makefile.am
> @@ -222,11 +222,12 @@ COMMON_LDFLAGS = \
>  	-module \
>  	-no-undefined \
>  	$(GC_SECTIONS) \
> -	$(NO_UNDEFINED)
> +	$(LD_NO_UNDEFINED)

Ouch.

There are two bugs fixed here though: this typo, and the missing
PTHREAD_{CFLAGS,LIBS} that slipped in because of this typo.
Would it be too much to ask for two commits? (Sorry if I'm nit-picking)

Fixes: 9475251145174882b532 "swr: standardize linkage and check for
                             unresolved symbols"
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>

>  
>  lib_LTLIBRARIES = libswrAVX.la libswrAVX2.la
>  
>  libswrAVX_la_CXXFLAGS = \
> +	$(PTHREAD_CFLAGS) \
>  	$(SWR_AVX_CXXFLAGS) \
>  	-DKNOB_ARCH=KNOB_ARCH_AVX \
>  	$(COMMON_CXXFLAGS)
> @@ -234,10 +235,14 @@ libswrAVX_la_CXXFLAGS = \
>  libswrAVX_la_SOURCES = \
>  	$(COMMON_SOURCES)
>  
> +libswrAVX_la_LIBADD = \
> +	$(PTHREAD_LIBS)
> +
>  libswrAVX_la_LDFLAGS = \
>  	$(COMMON_LDFLAGS)
>  
>  libswrAVX2_la_CXXFLAGS = \
> +	$(PTHREAD_CFLAGS) \
>  	$(SWR_AVX2_CXXFLAGS) \
>  	-DKNOB_ARCH=KNOB_ARCH_AVX2 \
>  	$(COMMON_CXXFLAGS)
> @@ -245,6 +250,9 @@ libswrAVX2_la_CXXFLAGS = \
>  libswrAVX2_la_SOURCES = \
>  	$(COMMON_SOURCES)
>  
> +libswrAVX2_la_LIBADD = \
> +	$(PTHREAD_LIBS)
> +
>  libswrAVX2_la_LDFLAGS = \
>  	$(COMMON_LDFLAGS)
>  
> -- 
> 2.13.0
> 


More information about the mesa-dev mailing list