From patchwork Thu Dec 3 12:48:58 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Senkevich X-Patchwork-Id: 9865 Received: (qmail 50660 invoked by alias); 3 Dec 2015 12:49:36 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 50559 invoked by uid 89); 3 Dec 2015 12:49:35 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.4 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-lb0-f181.google.com X-Received: by 10.112.137.132 with SMTP id qi4mr5571021lbb.120.1449146967880; Thu, 03 Dec 2015 04:49:27 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <20151202203736.GA6861@aurel32.net> References: <20151202203736.GA6861@aurel32.net> From: Andrew Senkevich Date: Thu, 3 Dec 2015 15:48:58 +0300 Message-ID: Subject: Re: [PATCH] [BZ #19058] Better workaround for aliases of *_finite symbols in vector math library To: Andrew Senkevich , libc-alpha 2015-12-02 23:37 GMT+03:00 Aurelien Jarno : > 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 >> >> [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. Thank you, unfortunately it was not found on x86-64 testing. * math/Makefile ($(inst_libdir)/libm.so): Correct path for endif Is it ok for trunk and 2.22 branch? --- WBR, Andrew diff --git a/math/Makefile b/math/Makefile index 6a926e9..20f90d9 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_nonshared.a $(slibdir)/libmvec.so$(libmvec.so-version) ) )' \ + 'AS_NEEDED ( $(libdir)/libmvec_nonshared.a $(slibdir)/libmvec.so$(libmvec.so-version) ) )' \ ) > $@