Message ID | CAMe9rOr713WNJvs73-kNYEJ9kZiTzoevCK-7xMeD3SCUoLwXcg@mail.gmail.com |
---|---|
State | New, archived |
Headers |
Received: (qmail 104881 invoked by alias); 7 Dec 2016 16:22:00 -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 104545 invoked by uid 89); 7 Dec 2016 16:21:59 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 spammy=hjltoolsgmailcom, hjl.tools@gmail.com, S, capital X-HELO: mail-qt0-f175.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=FTrZXMvbXI7/NSob06nbNgVgPo8e/4uPZDa/19+lb3Q=; b=c5gqAhEvy+LBR6IVP4PhwDNBSxjY4gnjNtp46HqDZSs/UAEF3GyI7zoRMlkp3QjlDk kTPSxRq0xO83j6Ec21rEKxkp/g8kvQW5Jgflqkg8WuUQiVBbuRWN7Wkswgui6YvFtZFE 7AFc49PNwTQkNZwLVxLLXZGVWtIWRxPei+Q7BAegZXoMr580dHuIM4AyRr5znZ4XPz6Z A8O+I3ngDIOJkNcHzqty1/f5k+68rSTBwLLdr8ljuDo3KX/gg5TULgqImaxadmB586bO kVck8Bt+zXBXiYf7N86iZP+qHhkazap9RCC42UCgd8L/AHhuF5BiT969O0Qhd8yuXGFw G7NA== X-Gm-Message-State: AKaTC01buszBBHLDxmS3xHfC9LIv90mFuvkZ92vrWEG+cd+D0fYoUbczJs6Lt9yIaj3jQydDqnnIXEzVVOZ0RQ== X-Received: by 10.237.37.60 with SMTP id v57mr69999438qtc.135.1481127706203; Wed, 07 Dec 2016 08:21:46 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <CAMXFM3uOCL44j=TNO3x8HO1AtxEj36Z1PcCXu1SfVoqLD1jjqA@mail.gmail.com> References: <CAMXFM3szvCP13C1P_Ed8NVV_FTt4Q8avz4uW-a=UbpWqMnF5aw@mail.gmail.com> <CAMe9rOqirjhp+cpWGTVeQKd8p-yNdsO=mQ+-Ww-B4ULSjfUSWA@mail.gmail.com> <CAMXFM3u+VyNo0Y0DzZcZc0JaAqP8pqy44==Fg3dw0QxS=gzPaw@mail.gmail.com> <CAMe9rOoZMyS2wgV9wxGAj-KzWA9UAJHV5VDN+2oen9YQhfTJUQ@mail.gmail.com> <CAMXFM3tVcbMS1ShEv9_GB5MVeH0ombWucvHm32H0AP8TKNpucA@mail.gmail.com> <mvm8trtjg54.fsf@hawking.suse.de> <CAMXFM3tFrVDJYwdgr=HXw4vu6JkpwMpfEYhsf9mXDJJ0S7QL3w@mail.gmail.com> <mvmvauxhym3.fsf@hawking.suse.de> <CAMXFM3vbgbmXW4YKRR5VVXAng=FtZ2wFY5HmaH-nqxwOcgHu8Q@mail.gmail.com> <CAMe9rOqGZWgQhDQYO9NQBehG90dX4uTAjCwZdZ+xBn6hALgoZQ@mail.gmail.com> <CAMXFM3uOCL44j=TNO3x8HO1AtxEj36Z1PcCXu1SfVoqLD1jjqA@mail.gmail.com> From: "H.J. Lu" <hjl.tools@gmail.com> Date: Wed, 7 Dec 2016 08:21:45 -0800 Message-ID: <CAMe9rOr713WNJvs73-kNYEJ9kZiTzoevCK-7xMeD3SCUoLwXcg@mail.gmail.com> Subject: Re: [PATCH] Install libm.a as linker script [BZ #20539] To: Andrew Senkevich <andrew.n.senkevich@gmail.com> Cc: Andreas Schwab <schwab@suse.de>, libc-alpha <libc-alpha@sourceware.org> Content-Type: text/plain; charset=UTF-8 |
Commit Message
H.J. Lu
Dec. 7, 2016, 4:21 p.m. UTC
On Wed, Dec 7, 2016 at 2:34 AM, Andrew Senkevich <andrew.n.senkevich@gmail.com> wrote: > 2016-12-07 0:48 GMT+03:00 H.J. Lu <hjl.tools@gmail.com>: >> On Tue, Dec 6, 2016 at 7:49 AM, Andrew Senkevich >> <andrew.n.senkevich@gmail.com> wrote: >>> 2016-12-06 18:21 GMT+03:00 Andreas Schwab <schwab@suse.de>: >>>> On Dez 06 2016, Andrew Senkevich <andrew.n.senkevich@gmail.com> wrote: >>>> >>>>> 2016-12-06 17:17 GMT+03:00 Andreas Schwab <schwab@suse.de>: >>>>>> On Dez 06 2016, Andrew Senkevich <andrew.n.senkevich@gmail.com> wrote: >>>>>> >>>>>>> +2016-12-06 Andrew Senkevich <andrew.senkevich@intel.com> >>>>>>> + >>>>>>> + [BZ #20539] >>>>>>> + * math/Makefile (install-lib-ldscripts): added libm.a. >>>>>>> + ($(inst_libdir)/libm.a): added rule for installation as linker script. >>>>>>> + * Makerules (install-lib.a): filter out install-lib-ldscripts. >>>>>> >>>>>> ChangeLog entries should be in present tense, and written as full >>>>>> sentences. >>>>> >>>>> Which sentence is not full? >>>> >>>> Full sentences start with a capital. >>> >>> Oh yes of course, fixed. >>> >>> >>> -- >>> WBR, >>> Andrew >> >> diff --git a/Makerules b/Makerules >> index e865782..573c074 100644 >> --- a/Makerules >> +++ b/Makerules >> @@ -1190,7 +1190,8 @@ $(addprefix $(inst_sbindir)/,$(install-sbin)): \ >> $(do-install-program) >> endif >> ifdef install-lib >> -install-lib.a := $(filter lib%.a,$(install-lib)) >> +install-lib.a := $(filter-out libm.a,$(filter lib%.a,$(install-lib))) >> +install-lib.a := $(filter-out $(install-lib-ldscripts),$(install-lib.a)) >> >> Need to filler out libm.a separately since it is in install-lib-ldscripts >> already. > > Oh surely, attached. > > > -- > WBR, > Andrew Here is install-others. $(inst_libdir)/libm.so: $(common-objpfx)format.lds \ $(libm) \ $(libmvec) \ @@ -142,6 +142,18 @@ $(inst_libdir)/libm.so: $(common-objpfx)format.lds \ 'AS_NEEDED ( $(libdir)/libmvec_nonshared.a $(slibdir)/libmvec.so$(libmvec.so-version) ) )' \ ) > $@.new mv -f $@.new $@ + +install-others = $(inst_libdir)/libm.a ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Is this needed? +$(inst_libdir)/libm.a: $(common-objpfx)format.lds \ + $(libm) \ + $(libmvec) \ + $(+force) + (echo '/* GNU ld script'; echo '*/';\ + cat $<; \ + echo 'GROUP ( $(libdir)/libm-$(lib-version).a $(libdir)/libmvec.a )' \ + ) > $@.new + cp $(objpfx)libm.a $(inst_libdir)/libm-$(lib-version).a + mv -f $@.new $@ endif
Comments
2016-12-07 19:21 GMT+03:00 H.J. Lu <hjl.tools@gmail.com>: > On Wed, Dec 7, 2016 at 2:34 AM, Andrew Senkevich > <andrew.n.senkevich@gmail.com> wrote: >> 2016-12-07 0:48 GMT+03:00 H.J. Lu <hjl.tools@gmail.com>: >>> On Tue, Dec 6, 2016 at 7:49 AM, Andrew Senkevich >>> <andrew.n.senkevich@gmail.com> wrote: >>>> 2016-12-06 18:21 GMT+03:00 Andreas Schwab <schwab@suse.de>: >>>>> On Dez 06 2016, Andrew Senkevich <andrew.n.senkevich@gmail.com> wrote: >>>>> >>>>>> 2016-12-06 17:17 GMT+03:00 Andreas Schwab <schwab@suse.de>: >>>>>>> On Dez 06 2016, Andrew Senkevich <andrew.n.senkevich@gmail.com> wrote: >>>>>>> >>>>>>>> +2016-12-06 Andrew Senkevich <andrew.senkevich@intel.com> >>>>>>>> + >>>>>>>> + [BZ #20539] >>>>>>>> + * math/Makefile (install-lib-ldscripts): added libm.a. >>>>>>>> + ($(inst_libdir)/libm.a): added rule for installation as linker script. >>>>>>>> + * Makerules (install-lib.a): filter out install-lib-ldscripts. >>>>>>> >>>>>>> ChangeLog entries should be in present tense, and written as full >>>>>>> sentences. >>>>>> >>>>>> Which sentence is not full? >>>>> >>>>> Full sentences start with a capital. >>>> >>>> Oh yes of course, fixed. >>>> >>>> >>>> -- >>>> WBR, >>>> Andrew >>> >>> diff --git a/Makerules b/Makerules >>> index e865782..573c074 100644 >>> --- a/Makerules >>> +++ b/Makerules >>> @@ -1190,7 +1190,8 @@ $(addprefix $(inst_sbindir)/,$(install-sbin)): \ >>> $(do-install-program) >>> endif >>> ifdef install-lib >>> -install-lib.a := $(filter lib%.a,$(install-lib)) >>> +install-lib.a := $(filter-out libm.a,$(filter lib%.a,$(install-lib))) >>> +install-lib.a := $(filter-out $(install-lib-ldscripts),$(install-lib.a)) >>> >>> Need to filler out libm.a separately since it is in install-lib-ldscripts >>> already. >> >> Oh surely, attached. >> >> >> -- >> WBR, >> Andrew > > diff --git a/math/Makefile b/math/Makefile > index 848b093..77031b1 100644 > --- a/math/Makefile > +++ b/math/Makefile > @@ -128,10 +128,10 @@ generated += $(foreach s,.c .S,$(call > type-foreach, $(calls:s_%=m_%$(s)))) > routines = $(call type-foreach, $(calls)) > > ifeq ($(build-mathvec),yes) > -# We need to install libm.so as linker script > -# for more comfortable use of vector math library. > -install-lib-ldscripts := libm.so > -install_subdir: $(inst_libdir)/libm.so > +# We need to install libm.so and libm.a as linker scripts > +# for transparent use of vector math library. > +install-lib-ldscripts := libm.so libm.a > +install-others: $(inst_libdir)/libm.so $(inst_libdir)/libm.a > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > Here is install-others. > > $(inst_libdir)/libm.so: $(common-objpfx)format.lds \ > $(libm) \ > $(libmvec) \ > @@ -142,6 +142,18 @@ $(inst_libdir)/libm.so: $(common-objpfx)format.lds \ > 'AS_NEEDED ( $(libdir)/libmvec_nonshared.a > $(slibdir)/libmvec.so$(libmvec.so-version) ) )' \ > ) > $@.new > mv -f $@.new $@ > + > +install-others = $(inst_libdir)/libm.a > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > Is this needed? Indeed not needed. Tested with attached patch. -- WBR, Andrew
On Wed, Dec 7, 2016 at 12:03 PM, Andrew Senkevich <andrew.n.senkevich@gmail.com> wrote: > 2016-12-07 19:21 GMT+03:00 H.J. Lu <hjl.tools@gmail.com>: >> On Wed, Dec 7, 2016 at 2:34 AM, Andrew Senkevich >> <andrew.n.senkevich@gmail.com> wrote: >>> 2016-12-07 0:48 GMT+03:00 H.J. Lu <hjl.tools@gmail.com>: >>>> On Tue, Dec 6, 2016 at 7:49 AM, Andrew Senkevich >>>> <andrew.n.senkevich@gmail.com> wrote: >>>>> 2016-12-06 18:21 GMT+03:00 Andreas Schwab <schwab@suse.de>: >>>>>> On Dez 06 2016, Andrew Senkevich <andrew.n.senkevich@gmail.com> wrote: >>>>>> >>>>>>> 2016-12-06 17:17 GMT+03:00 Andreas Schwab <schwab@suse.de>: >>>>>>>> On Dez 06 2016, Andrew Senkevich <andrew.n.senkevich@gmail.com> wrote: >>>>>>>> >>>>>>>>> +2016-12-06 Andrew Senkevich <andrew.senkevich@intel.com> >>>>>>>>> + >>>>>>>>> + [BZ #20539] >>>>>>>>> + * math/Makefile (install-lib-ldscripts): added libm.a. >>>>>>>>> + ($(inst_libdir)/libm.a): added rule for installation as linker script. >>>>>>>>> + * Makerules (install-lib.a): filter out install-lib-ldscripts. >>>>>>>> >>>>>>>> ChangeLog entries should be in present tense, and written as full >>>>>>>> sentences. >>>>>>> >>>>>>> Which sentence is not full? >>>>>> >>>>>> Full sentences start with a capital. >>>>> >>>>> Oh yes of course, fixed. >>>>> >>>>> >>>>> -- >>>>> WBR, >>>>> Andrew >>>> >>>> diff --git a/Makerules b/Makerules >>>> index e865782..573c074 100644 >>>> --- a/Makerules >>>> +++ b/Makerules >>>> @@ -1190,7 +1190,8 @@ $(addprefix $(inst_sbindir)/,$(install-sbin)): \ >>>> $(do-install-program) >>>> endif >>>> ifdef install-lib >>>> -install-lib.a := $(filter lib%.a,$(install-lib)) >>>> +install-lib.a := $(filter-out libm.a,$(filter lib%.a,$(install-lib))) >>>> +install-lib.a := $(filter-out $(install-lib-ldscripts),$(install-lib.a)) >>>> >>>> Need to filler out libm.a separately since it is in install-lib-ldscripts >>>> already. >>> >>> Oh surely, attached. >>> >>> >>> -- >>> WBR, >>> Andrew >> >> diff --git a/math/Makefile b/math/Makefile >> index 848b093..77031b1 100644 >> --- a/math/Makefile >> +++ b/math/Makefile >> @@ -128,10 +128,10 @@ generated += $(foreach s,.c .S,$(call >> type-foreach, $(calls:s_%=m_%$(s)))) >> routines = $(call type-foreach, $(calls)) >> >> ifeq ($(build-mathvec),yes) >> -# We need to install libm.so as linker script >> -# for more comfortable use of vector math library. >> -install-lib-ldscripts := libm.so >> -install_subdir: $(inst_libdir)/libm.so >> +# We need to install libm.so and libm.a as linker scripts >> +# for transparent use of vector math library. >> +install-lib-ldscripts := libm.so libm.a >> +install-others: $(inst_libdir)/libm.so $(inst_libdir)/libm.a >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> >> Here is install-others. >> >> $(inst_libdir)/libm.so: $(common-objpfx)format.lds \ >> $(libm) \ >> $(libmvec) \ >> @@ -142,6 +142,18 @@ $(inst_libdir)/libm.so: $(common-objpfx)format.lds \ >> 'AS_NEEDED ( $(libdir)/libmvec_nonshared.a >> $(slibdir)/libmvec.so$(libmvec.so-version) ) )' \ >> ) > $@.new >> mv -f $@.new $@ >> + >> +install-others = $(inst_libdir)/libm.a >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> >> Is this needed? > > Indeed not needed. Tested with attached patch. > > Please update ChangeLog entry: install_subdir is removed and install-others is added in math/Makefile. Otherwise, it looks good to me. Thanks.
On Dez 07 2016, Andrew Senkevich <andrew.n.senkevich@gmail.com> wrote: > +$(inst_libdir)/libm.a: $(common-objpfx)format.lds \ > + $(libm) \ > + $(libmvec) \ > + $(+force) > + (echo '/* GNU ld script'; echo '*/';\ > + cat $<; \ > + echo 'GROUP ( $(libdir)/libm-$(lib-version).a $(libdir)/libmvec.a )' \ > + ) > $@.new > + cp $(objpfx)libm.a $(inst_libdir)/libm-$(lib-version).a A rule should only create the target, nothing else. Andreas.
diff --git a/math/Makefile b/math/Makefile index 848b093..77031b1 100644 --- a/math/Makefile +++ b/math/Makefile @@ -128,10 +128,10 @@ generated += $(foreach s,.c .S,$(call type-foreach, $(calls:s_%=m_%$(s)))) routines = $(call type-foreach, $(calls)) ifeq ($(build-mathvec),yes) -# We need to install libm.so as linker script -# for more comfortable use of vector math library. -install-lib-ldscripts := libm.so -install_subdir: $(inst_libdir)/libm.so +# We need to install libm.so and libm.a as linker scripts +# for transparent use of vector math library. +install-lib-ldscripts := libm.so libm.a +install-others: $(inst_libdir)/libm.so $(inst_libdir)/libm.a ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^