Message ID | CAMXFM3sazbbYWZ-eYqm8F00oWAFjWcTuo2j8AHs_Cv5AethnLQ@mail.gmail.com |
---|---|
State | New, archived |
Headers |
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: <libc-alpha.sourceware.org> List-Unsubscribe: <mailto:libc-alpha-unsubscribe-##L=##H@sourceware.org> List-Subscribe: <mailto:libc-alpha-subscribe@sourceware.org> List-Archive: <http://sourceware.org/ml/libc-alpha/> List-Post: <mailto:libc-alpha@sourceware.org> List-Help: <mailto:libc-alpha-help@sourceware.org>, <http://sourceware.org/ml/#faqs> 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: <CAMXFM3uVghLzryBppyfCny2vxkhW4tORyFU=PM-O4=4+qp5yEw@mail.gmail.com> <20151202203736.GA6861@aurel32.net> From: Andrew Senkevich <andrew.n.senkevich@gmail.com> Date: Thu, 3 Dec 2015 15:48:58 +0300 Message-ID: <CAMXFM3sazbbYWZ-eYqm8F00oWAFjWcTuo2j8AHs_Cv5AethnLQ@mail.gmail.com> Subject: Re: [PATCH] [BZ #19058] Better workaround for aliases of *_finite symbols in vector math library To: Andrew Senkevich <andrew.n.senkevich@gmail.com>, libc-alpha <libc-alpha@sourceware.org> Content-Type: text/plain; charset=UTF-8 |
Commit Message
Andrew Senkevich
Dec. 3, 2015, 12:48 p.m. UTC
2015-12-02 23:37 GMT+03:00 Aurelien Jarno <aurelien@aurel32.net>: > 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. 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
Comments
On Thu, 3 Dec 2015, Andrew Senkevich wrote: > Thank you, unfortunately it was not found on x86-64 testing. > > * math/Makefile ($(inst_libdir)/libm.so): Correct path for > > 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) ) )' \ > ) > $@ > endif > > > Is it ok for trunk and 2.22 branch? OK.
On 2015-12-03 15:48, Andrew Senkevich wrote: > 2015-12-02 23:37 GMT+03:00 Aurelien Jarno <aurelien@aurel32.net>: > > 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. > > Thank you, unfortunately it was not found on x86-64 testing. > > * math/Makefile ($(inst_libdir)/libm.so): Correct path for > > 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) ) )' \ > ) > $@ > endif > > > Is it ok for trunk and 2.22 branch? Thanks!
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) ) )' \ ) > $@