[PATCH] [BZ #19058] Better workaround for aliases of *_finite symbols in vector math library
Aurelien Jarno
aurelien@aurel32.net
Wed Dec 2 20:37:00 GMT 2015
On 2015-11-26 19:17, Andrew Senkevich wrote:
> Hi,
>
> BZ #19058 shows that current workaround based on assembly aliases can
> lead to link fail with -fopenmp and -flto options.
> This patch makes workaround in another way to avoid such linker fails.
>
> 2015-11-26 Andrew Senkevich <andrew.senkevich@intel.com>
>
> [BZ #19058]
> * math/Makefile ($(inst_libdir)/libm.so): Added libmvec_nonshared.a to
> AS_NEEDED.
> * sysdeps/x86/fpu/bits/math-vector.h: Removed code with old
> workaround.
> * sysdeps/x86_64/fpu/Makefile (libmvec-support,
> libmvec-static-only-routines): Added new file.
> * sysdeps/x86_64/fpu/svml_finite_alias.S: New file.
>
> diff --git a/math/Makefile b/math/Makefile
> index 0ff3baa..6a926e9 100644
> --- a/math/Makefile
> +++ b/math/Makefile
> @@ -99,7 +99,7 @@ $(inst_libdir)/libm.so: $(common-objpfx)format.lds \
> (echo '/* GNU ld script'; echo '*/';\
> cat $<; \
> echo 'GROUP ( $(slibdir)/libm.so$(libm.so-version) ' \
> - 'AS_NEEDED ( $(slibdir)/libmvec.so$(libmvec.so-version) ) )' \
> + 'AS_NEEDED ( $(slibdir)/libmvec_nonshared.a
> $(slibdir)/libmvec.so$(libmvec.so-version) ) )' \
> ) > $@
> endif
This is wrong. libmvec_nonshared.a is installed in $(libdir) and not in
$(slibdir). Thus linking fails.
--
Aurelien Jarno GPG: 4096R/1DDD8C9B
aurelien@aurel32.net http://www.aurel32.net
More information about the Libc-alpha
mailing list