public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] Install libm.a as linker script [BZ #20539]
@ 2016-10-20 19:21 Andrew Senkevich
  2016-10-24 22:02 ` H.J. Lu
  0 siblings, 1 reply; 26+ messages in thread
From: Andrew Senkevich @ 2016-10-20 19:21 UTC (permalink / raw)
  To: libc-alpha

Hi,

to avoid static link fail w/o passing additional -lmvec option (while
building with GCC 6.1 and above) this patch makes libm.a installed as
linker script.
Tested on x86_64.  Ok for trunk?

2016-10-20  Andrew Senkevich  <andrew.senkevich@intel.com>

        [BZ #20539]
        * Makerules (install-lib.a): filter out libm.a in case of libmvec build.
        * math/Makefile: added rules for libm.a installation as linker script.

diff --git a/Makerules b/Makerules
index e865782..290f927 100644
--- a/Makerules
+++ b/Makerules
@@ -1190,7 +1190,9 @@ $(addprefix $(inst_sbindir)/,$(install-sbin)): \
        $(do-install-program)
 endif
 ifdef install-lib
-install-lib.a := $(filter lib%.a,$(install-lib))
+ifeq ($(build-mathvec),yes)
+install-lib.a := $(filter-out libm.a,$(filter lib%.a,$(install-lib)))
+endif
 install-lib-non.a := $(filter-out lib%.a,$(install-lib))
 ifdef install-lib-non.a
 $(addprefix $(inst_libdir)/$(libprefix),$(install-lib-non.a)): \
diff --git a/math/Makefile b/math/Makefile
index 2aa6a34..a96ef30 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -128,8 +128,8 @@ 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.
+# We need to install libm.so and libm.a as linker scripts
+# for transparent use of vector math library.
 install-lib-ldscripts := libm.so
 install_subdir: $(inst_libdir)/libm.so
 $(inst_libdir)/libm.so: $(common-objpfx)format.lds \
@@ -142,6 +142,19 @@ $(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
+$(inst_libdir)/libm.a: $(common-objpfx)format.lds \
+                      $(libm) \
+                      $(libmvec) \
+                      $(+force)
+       (echo '/* GNU ld script'; echo '*/';\
+        cat $<; \
+        echo 'GROUP ( $(libdir)/libm-$(lib-version).a ' \
+             'AS_NEEDED ( $(libdir)/libmvec.a) )' \
+       ) > $@.new
+       cp $(objpfx)libm.a $(libdir)/libm-$(lib-version).a
+       mv -f $@.new $@
 endif

 # Rules for the test suite.


--
WBR,
Andrew

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-10-20 19:21 [PATCH] Install libm.a as linker script [BZ #20539] Andrew Senkevich
@ 2016-10-24 22:02 ` H.J. Lu
  2016-11-14 19:16   ` Andrew Senkevich
  2016-12-05 19:40   ` Andrew Senkevich
  0 siblings, 2 replies; 26+ messages in thread
From: H.J. Lu @ 2016-10-24 22:02 UTC (permalink / raw)
  To: Andrew Senkevich; +Cc: libc-alpha

On Thu, Oct 20, 2016 at 12:20 PM, Andrew Senkevich
<andrew.n.senkevich@gmail.com> wrote:
> Hi,
>
> to avoid static link fail w/o passing additional -lmvec option (while
> building with GCC 6.1 and above) this patch makes libm.a installed as
> linker script.
> Tested on x86_64.  Ok for trunk?

A couple issues.  Don't use cut/paste since it adds some newlines
and the patch won't apply.

> 2016-10-20  Andrew Senkevich  <andrew.senkevich@intel.com>
>
>         [BZ #20539]
>         * Makerules (install-lib.a): filter out libm.a in case of libmvec build.
>         * math/Makefile: added rules for libm.a installation as linker script.
>
> diff --git a/Makerules b/Makerules
> index e865782..290f927 100644
> --- a/Makerules
> +++ b/Makerules
> @@ -1190,7 +1190,9 @@ $(addprefix $(inst_sbindir)/,$(install-sbin)): \
>         $(do-install-program)
>  endif
>  ifdef install-lib
> -install-lib.a := $(filter lib%.a,$(install-lib))
> +ifeq ($(build-mathvec),yes)
> +install-lib.a := $(filter-out libm.a,$(filter lib%.a,$(install-lib)))
> +endif

Should we use $(install-lib-ldscripts) instead of libm.a here?

>  install-lib-non.a := $(filter-out lib%.a,$(install-lib))
>  ifdef install-lib-non.a
>  $(addprefix $(inst_libdir)/$(libprefix),$(install-lib-non.a)): \
> diff --git a/math/Makefile b/math/Makefile
> index 2aa6a34..a96ef30 100644
> --- a/math/Makefile
> +++ b/math/Makefile
> @@ -128,8 +128,8 @@ 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.
> +# We need to install libm.so and libm.a as linker scripts
> +# for transparent use of vector math library.
>  install-lib-ldscripts := libm.so
>  install_subdir: $(inst_libdir)/libm.so
>  $(inst_libdir)/libm.so: $(common-objpfx)format.lds \
> @@ -142,6 +142,19 @@ $(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
> +$(inst_libdir)/libm.a: $(common-objpfx)format.lds \
> +                      $(libm) \
> +                      $(libmvec) \
> +                      $(+force)
> +       (echo '/* GNU ld script'; echo '*/';\
> +        cat $<; \
> +        echo 'GROUP ( $(libdir)/libm-$(lib-version).a ' \
> +             'AS_NEEDED ( $(libdir)/libmvec.a) )' \
                  ^^^^^^^^^^^^^ Remove it.
> +       ) > $@.new
> +       cp $(objpfx)libm.a $(libdir)/libm-$(lib-version).a
                                        ^^^^^ It should be inst_libdir.
> +       mv -f $@.new $@
>  endif
>
>  # Rules for the test suite.
>

Do you need to update rules for building static math tests with
libmvec.a?

-- 
H.J.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-10-24 22:02 ` H.J. Lu
@ 2016-11-14 19:16   ` Andrew Senkevich
  2016-11-14 19:22     ` H.J. Lu
  2016-12-05 19:40   ` Andrew Senkevich
  1 sibling, 1 reply; 26+ messages in thread
From: Andrew Senkevich @ 2016-11-14 19:16 UTC (permalink / raw)
  To: H.J. Lu; +Cc: libc-alpha

[-- Attachment #1: Type: text/plain, Size: 820 bytes --]

2016-10-25 1:02 GMT+03:00 H.J. Lu <hjl.tools@gmail.com>:
>> diff --git a/Makerules b/Makerules
>> index e865782..290f927 100644
>> --- a/Makerules
>> +++ b/Makerules
>> @@ -1190,7 +1190,9 @@ $(addprefix $(inst_sbindir)/,$(install-sbin)): \
>>         $(do-install-program)
>>  endif
>>  ifdef install-lib
>> -install-lib.a := $(filter lib%.a,$(install-lib))
>> +ifeq ($(build-mathvec),yes)
>> +install-lib.a := $(filter-out libm.a,$(filter lib%.a,$(install-lib)))
>> +endif
>
> Should we use $(install-lib-ldscripts) instead of libm.a here?

I had tried but haven't rich a success.

>>  # Rules for the test suite.
>>
>
> Do you need to update rules for building static math tests with
> libmvec.a?

I haven't added -lmvec explicitly for any static math test so I think no.

Attached corrected version.


--
WBR,
Andrew

[-- Attachment #2: bz20539.patch --]
[-- Type: application/octet-stream, Size: 1767 bytes --]

diff --git a/Makerules b/Makerules
index e865782..290f927 100644
--- a/Makerules
+++ b/Makerules
@@ -1190,7 +1190,9 @@ $(addprefix $(inst_sbindir)/,$(install-sbin)): \
 	$(do-install-program)
 endif
 ifdef install-lib
-install-lib.a := $(filter lib%.a,$(install-lib))
+ifeq ($(build-mathvec),yes)
+install-lib.a := $(filter-out libm.a,$(filter lib%.a,$(install-lib)))
+endif
 install-lib-non.a := $(filter-out lib%.a,$(install-lib))
 ifdef install-lib-non.a
 $(addprefix $(inst_libdir)/$(libprefix),$(install-lib-non.a)): \
diff --git a/math/Makefile b/math/Makefile
index f400d7b..39a34b9 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -128,8 +128,8 @@ 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.
+# We need to install libm.so and libm.a as linker scripts
+# for transparent use of vector math library.
 install-lib-ldscripts := libm.so
 install_subdir: $(inst_libdir)/libm.so
 $(inst_libdir)/libm.so: $(common-objpfx)format.lds \
@@ -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
+$(inst_libdir)/libm.a: $(common-objpfx)format.lds \
+		       $(libm) \
+		       $(libmvec) \
+		       $(+force)
+	(echo '/* GNU ld script'; echo '*/';\
+	 cat $<; \
+	 echo 'GROUP ( $(inst_libdir)/libm-$(lib-version).a $(inst_libdir)/libmvec.a )' \
+	) > $@.new
+	cp $(objpfx)libm.a $(inst_libdir)/libm-$(lib-version).a
+	mv -f $@.new $@
 endif
 
 # Rules for the test suite.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-11-14 19:16   ` Andrew Senkevich
@ 2016-11-14 19:22     ` H.J. Lu
  0 siblings, 0 replies; 26+ messages in thread
From: H.J. Lu @ 2016-11-14 19:22 UTC (permalink / raw)
  To: Andrew Senkevich; +Cc: libc-alpha

On Mon, Nov 14, 2016 at 11:15 AM, Andrew Senkevich
<andrew.n.senkevich@gmail.com> wrote:
> 2016-10-25 1:02 GMT+03:00 H.J. Lu <hjl.tools@gmail.com>:
>>> diff --git a/Makerules b/Makerules
>>> index e865782..290f927 100644
>>> --- a/Makerules
>>> +++ b/Makerules
>>> @@ -1190,7 +1190,9 @@ $(addprefix $(inst_sbindir)/,$(install-sbin)): \
>>>         $(do-install-program)
>>>  endif
>>>  ifdef install-lib
>>> -install-lib.a := $(filter lib%.a,$(install-lib))
>>> +ifeq ($(build-mathvec),yes)
>>> +install-lib.a := $(filter-out libm.a,$(filter lib%.a,$(install-lib)))
>>> +endif
>>
>> Should we use $(install-lib-ldscripts) instead of libm.a here?
>
> I had tried but haven't rich a success.

Did you add libm.a to install-lib-ldscripts?

>>>  # Rules for the test suite.
>>>
>>
>> Do you need to update rules for building static math tests with
>> libmvec.a?
>
> I haven't added -lmvec explicitly for any static math test so I think no.

Static math test in glibc may fail if the same bug is triggered
with ether new GCC or new test.

> Attached corrected version.
>


echo 'GROUP ( $(inst_libdir)/libm-$(lib-version).a $(inst_libdir)/libmvec.a )' \
                         ^^^^^^^^^^^^   Please use libdir here.

-- 
H.J.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-10-24 22:02 ` H.J. Lu
  2016-11-14 19:16   ` Andrew Senkevich
@ 2016-12-05 19:40   ` Andrew Senkevich
  2016-12-05 20:01     ` H.J. Lu
  1 sibling, 1 reply; 26+ messages in thread
From: Andrew Senkevich @ 2016-12-05 19:40 UTC (permalink / raw)
  To: H.J. Lu; +Cc: libc-alpha

[-- Attachment #1: Type: text/plain, Size: 2218 bytes --]

2016-10-25 1:02 GMT+03:00 H.J. Lu <hjl.tools@gmail.com>:
. . .
>
> Do you need to update rules for building static math tests with
> libmvec.a?

Currently where are no static tests linked with libmvec.
Should we add such tests?

Current patch is:

diff --git a/Makerules b/Makerules
index e865782..a670f81 100644
--- a/Makerules
+++ b/Makerules
@@ -1190,7 +1190,10 @@ $(addprefix $(inst_sbindir)/,$(install-sbin)): \
  $(do-install-program)
 endif
 ifdef install-lib
-install-lib.a := $(filter lib%.a,$(install-lib))
+ifeq ($(build-mathvec),yes)
+install-lib.a := $(filter-out libm.a,$(filter lib%.a,$(install-lib)))
+install-lib.a := $(filter-out $(install-lib-ldscripts),$(install-lib.a))
+endif
 install-lib-non.a := $(filter-out lib%.a,$(install-lib))
 ifdef install-lib-non.a
 $(addprefix $(inst_libdir)/$(libprefix),$(install-lib-non.a)): \
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
 $(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
+$(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

 # Rules for the test suite.


--
WBR,
Andrew

[-- Attachment #2: bz20539_v4.patch --]
[-- Type: application/octet-stream, Size: 1968 bytes --]

diff --git a/Makerules b/Makerules
index e865782..a670f81 100644
--- a/Makerules
+++ b/Makerules
@@ -1190,7 +1190,10 @@ $(addprefix $(inst_sbindir)/,$(install-sbin)): \
 	$(do-install-program)
 endif
 ifdef install-lib
-install-lib.a := $(filter lib%.a,$(install-lib))
+ifeq ($(build-mathvec),yes)
+install-lib.a := $(filter-out libm.a,$(filter lib%.a,$(install-lib)))
+install-lib.a := $(filter-out $(install-lib-ldscripts),$(install-lib.a))
+endif
 install-lib-non.a := $(filter-out lib%.a,$(install-lib))
 ifdef install-lib-non.a
 $(addprefix $(inst_libdir)/$(libprefix),$(install-lib-non.a)): \
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
 $(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
+$(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
 
 # Rules for the test suite.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-12-05 19:40   ` Andrew Senkevich
@ 2016-12-05 20:01     ` H.J. Lu
  2016-12-06 12:17       ` Andrew Senkevich
  0 siblings, 1 reply; 26+ messages in thread
From: H.J. Lu @ 2016-12-05 20:01 UTC (permalink / raw)
  To: Andrew Senkevich; +Cc: libc-alpha

On Mon, Dec 5, 2016 at 11:39 AM, Andrew Senkevich
<andrew.n.senkevich@gmail.com> wrote:
> 2016-10-25 1:02 GMT+03:00 H.J. Lu <hjl.tools@gmail.com>:
> . . .
>>
>> Do you need to update rules for building static math tests with
>> libmvec.a?
>
> Currently where are no static tests linked with libmvec.
> Should we add such tests?

It is probably OK without it for now.

> Current patch is:
>
> diff --git a/Makerules b/Makerules
> index e865782..a670f81 100644
> --- a/Makerules
> +++ b/Makerules
> @@ -1190,7 +1190,10 @@ $(addprefix $(inst_sbindir)/,$(install-sbin)): \
>   $(do-install-program)
>  endif
>  ifdef install-lib
> -install-lib.a := $(filter lib%.a,$(install-lib))
> +ifeq ($(build-mathvec),yes)
> +install-lib.a := $(filter-out libm.a,$(filter lib%.a,$(install-lib)))
> +install-lib.a := $(filter-out $(install-lib-ldscripts),$(install-lib.a))
> +endif

Will just

++ b/Makerules
@@ -1191,6 +1191,7 @@ $(addprefix $(inst_sbindir)/,$(install-sbin)): \
 endif
 ifdef install-lib
 install-lib.a := $(filter lib%.a,$(install-lib))
+install-lib.a := $(filter-out $(install-lib-ldscripts),$(install-lib.a))
 install-lib-non.a := $(filter-out lib%.a,$(install-lib))
 ifdef install-lib-non.a
 $(addprefix $(inst_libdir)/$(libprefix),$(install-lib-non.a)): \

work?

>  install-lib-non.a := $(filter-out lib%.a,$(install-lib))
>  ifdef install-lib-non.a
>  $(addprefix $(inst_libdir)/$(libprefix),$(install-lib-non.a)): \
> 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
>  $(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
> +$(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
>
>  # Rules for the test suite.
>
>
> --
> WBR,
> Andrew



-- 
H.J.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-12-05 20:01     ` H.J. Lu
@ 2016-12-06 12:17       ` Andrew Senkevich
  2016-12-06 14:17         ` Andreas Schwab
  0 siblings, 1 reply; 26+ messages in thread
From: Andrew Senkevich @ 2016-12-06 12:17 UTC (permalink / raw)
  To: H.J. Lu, libc-alpha

[-- Attachment #1: Type: text/plain, Size: 1469 bytes --]

2016-12-05 23:01 GMT+03:00 H.J. Lu <hjl.tools@gmail.com>:
> On Mon, Dec 5, 2016 at 11:39 AM, Andrew Senkevich
> <andrew.n.senkevich@gmail.com> wrote:
>> 2016-10-25 1:02 GMT+03:00 H.J. Lu <hjl.tools@gmail.com>:
>> . . .
>>>
>>> Do you need to update rules for building static math tests with
>>> libmvec.a?
>>
>> Currently where are no static tests linked with libmvec.
>> Should we add such tests?
>
> It is probably OK without it for now.
>
>> Current patch is:
>>
>> diff --git a/Makerules b/Makerules
>> index e865782..a670f81 100644
>> --- a/Makerules
>> +++ b/Makerules
>> @@ -1190,7 +1190,10 @@ $(addprefix $(inst_sbindir)/,$(install-sbin)): \
>>   $(do-install-program)
>>  endif
>>  ifdef install-lib
>> -install-lib.a := $(filter lib%.a,$(install-lib))
>> +ifeq ($(build-mathvec),yes)
>> +install-lib.a := $(filter-out libm.a,$(filter lib%.a,$(install-lib)))
>> +install-lib.a := $(filter-out $(install-lib-ldscripts),$(install-lib.a))
>> +endif
>
> Will just
>
> ++ b/Makerules
> @@ -1191,6 +1191,7 @@ $(addprefix $(inst_sbindir)/,$(install-sbin)): \
>  endif
>  ifdef install-lib
>  install-lib.a := $(filter lib%.a,$(install-lib))
> +install-lib.a := $(filter-out $(install-lib-ldscripts),$(install-lib.a))
>  install-lib-non.a := $(filter-out lib%.a,$(install-lib))
>  ifdef install-lib-non.a
>  $(addprefix $(inst_libdir)/$(libprefix),$(install-lib-non.a)): \
>
> work?

Yes, indeed.

Attached fixed with updated ChangeLog, Ok for trunk?


--
WBR,
Andrew

[-- Attachment #2: bz20539.patch --]
[-- Type: application/octet-stream, Size: 2387 bytes --]

diff --git a/ChangeLog b/ChangeLog
index ab723eb..8e4f6ca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+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.
+
 2016-12-06  Joseph Myers  <joseph@codesourcery.com>
 
 	[BZ #20916]
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))
 install-lib-non.a := $(filter-out lib%.a,$(install-lib))
 ifdef install-lib-non.a
 $(addprefix $(inst_libdir)/$(libprefix),$(install-lib-non.a)): \
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
 $(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
+$(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
 
 # Rules for the test suite.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-12-06 12:17       ` Andrew Senkevich
@ 2016-12-06 14:17         ` Andreas Schwab
  2016-12-06 14:49           ` Andrew Senkevich
  0 siblings, 1 reply; 26+ messages in thread
From: Andreas Schwab @ 2016-12-06 14:17 UTC (permalink / raw)
  To: Andrew Senkevich; +Cc: H.J. Lu, libc-alpha

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.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-12-06 14:17         ` Andreas Schwab
@ 2016-12-06 14:49           ` Andrew Senkevich
  2016-12-06 15:21             ` Andreas Schwab
  0 siblings, 1 reply; 26+ messages in thread
From: Andrew Senkevich @ 2016-12-06 14:49 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: H.J. Lu, libc-alpha

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?


--
WBR,
Andrew

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-12-06 14:49           ` Andrew Senkevich
@ 2016-12-06 15:21             ` Andreas Schwab
  2016-12-06 15:50               ` Andrew Senkevich
  0 siblings, 1 reply; 26+ messages in thread
From: Andreas Schwab @ 2016-12-06 15:21 UTC (permalink / raw)
  To: Andrew Senkevich; +Cc: H.J. Lu, libc-alpha

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.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-12-06 15:21             ` Andreas Schwab
@ 2016-12-06 15:50               ` Andrew Senkevich
  2016-12-06 21:49                 ` H.J. Lu
  0 siblings, 1 reply; 26+ messages in thread
From: Andrew Senkevich @ 2016-12-06 15:50 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: H.J. Lu, libc-alpha

[-- Attachment #1: Type: text/plain, Size: 801 bytes --]

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

[-- Attachment #2: bz20539.patch --]
[-- Type: application/octet-stream, Size: 2383 bytes --]

diff --git a/ChangeLog b/ChangeLog
index ab723eb..4f90a70 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2016-12-06  Andrew Senkevich  <andrew.senkevich@intel.com>
+
+	[BZ #20539]
+	* math/Makefile (install-lib-ldscripts): Add libm.a.
+	($(inst_libdir)/libm.a): Add rule for installation as linker script.
+	* Makerules (install-lib.a): Filter out install-lib-ldscripts.
+
 2016-12-06  Joseph Myers  <joseph@codesourcery.com>
 
 	[BZ #20916]
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))
 install-lib-non.a := $(filter-out lib%.a,$(install-lib))
 ifdef install-lib-non.a
 $(addprefix $(inst_libdir)/$(libprefix),$(install-lib-non.a)): \
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
 $(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
+$(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
 
 # Rules for the test suite.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-12-06 15:50               ` Andrew Senkevich
@ 2016-12-06 21:49                 ` H.J. Lu
  2016-12-07 10:34                   ` Andrew Senkevich
  0 siblings, 1 reply; 26+ messages in thread
From: H.J. Lu @ 2016-12-06 21:49 UTC (permalink / raw)
  To: Andrew Senkevich; +Cc: Andreas Schwab, libc-alpha

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.

-- 
H.J.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-12-06 21:49                 ` H.J. Lu
@ 2016-12-07 10:34                   ` Andrew Senkevich
  2016-12-07 16:22                     ` H.J. Lu
  0 siblings, 1 reply; 26+ messages in thread
From: Andrew Senkevich @ 2016-12-07 10:34 UTC (permalink / raw)
  To: H.J. Lu; +Cc: Andreas Schwab, libc-alpha

[-- Attachment #1: Type: text/plain, Size: 1571 bytes --]

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

[-- Attachment #2: bz20539.patch --]
[-- Type: application/octet-stream, Size: 2316 bytes --]

diff --git a/ChangeLog b/ChangeLog
index ccfd0ae..e58f68d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2016-12-07  Andrew Senkevich  <andrew.senkevich@intel.com>
+
+	[BZ #20539]
+	* math/Makefile (install-lib-ldscripts): Add libm.a.
+	($(inst_libdir)/libm.a): Add rule for installation as
+	linker script.
+	* Makerules (install-lib.a): Filter out	install-lib-ldscripts.
+
 2016-12-07  Andreas Schwab  <schwab@suse.de>
 
 	* sysdeps/unix/sysv/linux/x86/elision-conf.h
diff --git a/Makerules b/Makerules
index e865782..7ac696e 100644
--- a/Makerules
+++ b/Makerules
@@ -1191,6 +1191,7 @@ $(addprefix $(inst_sbindir)/,$(install-sbin)): \
 endif
 ifdef install-lib
 install-lib.a := $(filter lib%.a,$(install-lib))
+install-lib.a := $(filter-out $(install-lib-ldscripts),$(install-lib.a))
 install-lib-non.a := $(filter-out lib%.a,$(install-lib))
 ifdef install-lib-non.a
 $(addprefix $(inst_libdir)/$(libprefix),$(install-lib-non.a)): \
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
 $(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
+$(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
 
 # Rules for the test suite.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-12-07 10:34                   ` Andrew Senkevich
@ 2016-12-07 16:22                     ` H.J. Lu
  2016-12-07 20:04                       ` Andrew Senkevich
  0 siblings, 1 reply; 26+ messages in thread
From: H.J. Lu @ 2016-12-07 16:22 UTC (permalink / raw)
  To: Andrew Senkevich; +Cc: Andreas Schwab, libc-alpha

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?

+$(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

-- 
H.J.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-12-07 16:22                     ` H.J. Lu
@ 2016-12-07 20:04                       ` Andrew Senkevich
  2016-12-07 21:50                         ` H.J. Lu
  2016-12-09 15:39                         ` Andreas Schwab
  0 siblings, 2 replies; 26+ messages in thread
From: Andrew Senkevich @ 2016-12-07 20:04 UTC (permalink / raw)
  To: H.J. Lu; +Cc: Andreas Schwab, libc-alpha

[-- Attachment #1: Type: text/plain, Size: 3094 bytes --]

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

[-- Attachment #2: bz20539.patch --]
[-- Type: application/octet-stream, Size: 2277 bytes --]

diff --git a/ChangeLog b/ChangeLog
index ccfd0ae..a264189 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2016-12-07  Andrew Senkevich  <andrew.senkevich@intel.com>
+
+	[BZ #20539]
+	* math/Makefile (install-lib-ldscripts): Add libm.a.
+	($(inst_libdir)/libm.a): Add rule for installation as
+	linker script.
+	* Makerules (install-lib.a): Filter out install-lib-ldscripts.
+
 2016-12-07  Andreas Schwab  <schwab@suse.de>
 
 	* sysdeps/unix/sysv/linux/x86/elision-conf.h
diff --git a/Makerules b/Makerules
index e865782..7ac696e 100644
--- a/Makerules
+++ b/Makerules
@@ -1191,6 +1191,7 @@ $(addprefix $(inst_sbindir)/,$(install-sbin)): \
 endif
 ifdef install-lib
 install-lib.a := $(filter lib%.a,$(install-lib))
+install-lib.a := $(filter-out $(install-lib-ldscripts),$(install-lib.a))
 install-lib-non.a := $(filter-out lib%.a,$(install-lib))
 ifdef install-lib-non.a
 $(addprefix $(inst_libdir)/$(libprefix),$(install-lib-non.a)): \
diff --git a/math/Makefile b/math/Makefile
index 848b093..49556f6 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
 $(inst_libdir)/libm.so: $(common-objpfx)format.lds \
 			$(libm) \
 			$(libmvec) \
@@ -142,6 +142,17 @@ $(inst_libdir)/libm.so: $(common-objpfx)format.lds \
 	      'AS_NEEDED ( $(libdir)/libmvec_nonshared.a $(slibdir)/libmvec.so$(libmvec.so-version) ) )' \
 	) > $@.new
 	mv -f $@.new $@
+
+$(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
 
 # Rules for the test suite.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-12-07 20:04                       ` Andrew Senkevich
@ 2016-12-07 21:50                         ` H.J. Lu
  2016-12-09 15:39                         ` Andreas Schwab
  1 sibling, 0 replies; 26+ messages in thread
From: H.J. Lu @ 2016-12-07 21:50 UTC (permalink / raw)
  To: Andrew Senkevich; +Cc: Andreas Schwab, libc-alpha

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.


-- 
H.J.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-12-07 20:04                       ` Andrew Senkevich
  2016-12-07 21:50                         ` H.J. Lu
@ 2016-12-09 15:39                         ` Andreas Schwab
  2016-12-09 17:42                           ` Andrew Senkevich
  1 sibling, 1 reply; 26+ messages in thread
From: Andreas Schwab @ 2016-12-09 15:39 UTC (permalink / raw)
  To: Andrew Senkevich; +Cc: H.J. Lu, libc-alpha

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.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-12-09 15:39                         ` Andreas Schwab
@ 2016-12-09 17:42                           ` Andrew Senkevich
  2016-12-09 18:23                             ` Andreas Schwab
  0 siblings, 1 reply; 26+ messages in thread
From: Andrew Senkevich @ 2016-12-09 17:42 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: H.J. Lu, libc-alpha

2016-12-09 18:38 GMT+03:00 Andreas Schwab <schwab@suse.de>:
> 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.

Is the following update Ok?

diff --git a/math/Makefile b/math/Makefile
index 49556f6..ebbb8ee 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -144,14 +144,13 @@ $(inst_libdir)/libm.so: $(common-objpfx)format.lds \
  mv -f $@.new $@

 $(inst_libdir)/libm.a: $(common-objpfx)format.lds \
-       $(libm) \
-       $(libmvec) \
+       $(objpfx)copy-libm.a.stmp \
+       $(objpfx)../mathvec/libmvec.a \
        $(+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

@@ -193,7 +192,7 @@ libm-vec-test-wrappers = $(addsuffix -wrappers,
$(libm-vec-tests))
 test-extras += $(libm-vec-test-wrappers)
 extra-test-objs += $(addsuffix .o, $(libm-vec-test-wrappers))
 libm-tests-generated = libm-test-ulps.h libm-have-vector-test.h libm-test.c
-generated += $(libm-tests-generated) libm-test.stmp
+generated += $(libm-tests-generated) libm-test.stmp copy-libm.a.stmp

 # This is needed for dependencies
 before-compile += $(objpfx)libm-test.c
@@ -208,6 +207,10 @@ $(objpfx)libm-test.stmp: $(ulps-file)
libm-test.inc gen-libm-test.pl \
  $(PERL) gen-libm-test.pl -u $< -o "$(objpfx)"
  $(SHELL) gen-libm-have-vector-test.sh > $(objpfx)libm-have-vector-test.h
  @echo > $@
+
+$(objpfx)copy-libm.a.stmp: $(objpfx)libm.a
+ cp $(objpfx)libm.a $(inst_libdir)/libm-$(lib-version).a
+ @echo > $@
 endif

 libm-test-fast-math-cflags = -fno-builtin -D__FAST_MATH__ -DTEST_FAST_MATH



--
WBR,
Andrew

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-12-09 17:42                           ` Andrew Senkevich
@ 2016-12-09 18:23                             ` Andreas Schwab
  2016-12-12 15:45                               ` Andrew Senkevich
  0 siblings, 1 reply; 26+ messages in thread
From: Andreas Schwab @ 2016-12-09 18:23 UTC (permalink / raw)
  To: Andrew Senkevich; +Cc: H.J. Lu, libc-alpha

On Dez 09 2016, Andrew Senkevich <andrew.n.senkevich@gmail.com> wrote:

> 2016-12-09 18:38 GMT+03:00 Andreas Schwab <schwab@suse.de>:
>> 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.
>
> Is the following update Ok?

There is no neeed to go through a stamp file, just depend on
$(inst_libdir)/libm-$(lib-version).a, and add a rule which copies
$(objpfx)libm.a there.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-12-09 18:23                             ` Andreas Schwab
@ 2016-12-12 15:45                               ` Andrew Senkevich
  2016-12-12 16:18                                 ` Andreas Schwab
  0 siblings, 1 reply; 26+ messages in thread
From: Andrew Senkevich @ 2016-12-12 15:45 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: H.J. Lu, libc-alpha

[-- Attachment #1: Type: text/plain, Size: 2110 bytes --]

2016-12-09 21:23 GMT+03:00 Andreas Schwab <schwab@suse.de>:
> On Dez 09 2016, Andrew Senkevich <andrew.n.senkevich@gmail.com> wrote:
>
>> 2016-12-09 18:38 GMT+03:00 Andreas Schwab <schwab@suse.de>:
>>> 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.
>>
>> Is the following update Ok?
>
> There is no neeed to go through a stamp file, just depend on
> $(inst_libdir)/libm-$(lib-version).a, and add a rule which copies
> $(objpfx)libm.a there.

I see. Is it ok:

diff --git a/ChangeLog b/ChangeLog
index 4d31f4f..a5336d3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2016-12-12  Andrew Senkevich  <andrew.senkevich@intel.com>
+
+ * math/Makefile ($(inst_libdir)/libm-$(lib-version).a): New target.
+ ($(inst_libdir)/libm.a): Correct rule to create the target only.
+
 2016-12-10  Florian Weimer  <fweimer@redhat.com>

  [BZ #20956]
diff --git a/math/Makefile b/math/Makefile
index 49556f6..38ce4ab 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -143,15 +143,17 @@ $(inst_libdir)/libm.so: $(common-objpfx)format.lds \
  ) > $@.new
  mv -f $@.new $@

+$(inst_libdir)/libm-$(lib-version).a: $(objpfx)libm.a
+ cp $(objpfx)libm.a $(inst_libdir)/libm-$(lib-version).a
+
 $(inst_libdir)/libm.a: $(common-objpfx)format.lds \
-       $(libm) \
-       $(libmvec) \
+       $(inst_libdir)/libm-$(lib-version).a \
+       $(objpfx)../mathvec/libmvec.a \
        $(+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



--
WBR,
Andrew

[-- Attachment #2: bz20539_followup.patch --]
[-- Type: application/octet-stream, Size: 1148 bytes --]

diff --git a/ChangeLog b/ChangeLog
index 4d31f4f..a5336d3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2016-12-12  Andrew Senkevich  <andrew.senkevich@intel.com>
+
+	* math/Makefile ($(inst_libdir)/libm-$(lib-version).a): New target.
+	($(inst_libdir)/libm.a): Correct rule to create the target only.
+
 2016-12-10  Florian Weimer  <fweimer@redhat.com>
 
 	[BZ #20956]
diff --git a/math/Makefile b/math/Makefile
index 49556f6..38ce4ab 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -143,15 +143,17 @@ $(inst_libdir)/libm.so: $(common-objpfx)format.lds \
 	) > $@.new
 	mv -f $@.new $@
 
+$(inst_libdir)/libm-$(lib-version).a: $(objpfx)libm.a
+	cp $(objpfx)libm.a $(inst_libdir)/libm-$(lib-version).a
+
 $(inst_libdir)/libm.a: $(common-objpfx)format.lds \
-		       $(libm) \
-		       $(libmvec) \
+		       $(inst_libdir)/libm-$(lib-version).a \
+		       $(objpfx)../mathvec/libmvec.a \
 		       $(+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
 

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-12-12 15:45                               ` Andrew Senkevich
@ 2016-12-12 16:18                                 ` Andreas Schwab
  2016-12-12 16:29                                   ` Andrew Senkevich
  0 siblings, 1 reply; 26+ messages in thread
From: Andreas Schwab @ 2016-12-12 16:18 UTC (permalink / raw)
  To: Andrew Senkevich; +Cc: H.J. Lu, libc-alpha

On Dez 12 2016, Andrew Senkevich <andrew.n.senkevich@gmail.com> wrote:

> diff --git a/math/Makefile b/math/Makefile
> index 49556f6..38ce4ab 100644
> --- a/math/Makefile
> +++ b/math/Makefile
> @@ -143,15 +143,17 @@ $(inst_libdir)/libm.so: $(common-objpfx)format.lds \
>  	) > $@.new
>  	mv -f $@.new $@
>  
> +$(inst_libdir)/libm-$(lib-version).a: $(objpfx)libm.a
> +	cp $(objpfx)libm.a $(inst_libdir)/libm-$(lib-version).a

Use automatic variables.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-12-12 16:18                                 ` Andreas Schwab
@ 2016-12-12 16:29                                   ` Andrew Senkevich
  2016-12-12 16:42                                     ` Andreas Schwab
  0 siblings, 1 reply; 26+ messages in thread
From: Andrew Senkevich @ 2016-12-12 16:29 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: H.J. Lu, libc-alpha

2016-12-12 19:18 GMT+03:00 Andreas Schwab <schwab@suse.de>:
> On Dez 12 2016, Andrew Senkevich <andrew.n.senkevich@gmail.com> wrote:
>
>> diff --git a/math/Makefile b/math/Makefile
>> index 49556f6..38ce4ab 100644
>> --- a/math/Makefile
>> +++ b/math/Makefile
>> @@ -143,15 +143,17 @@ $(inst_libdir)/libm.so: $(common-objpfx)format.lds \
>>       ) > $@.new
>>       mv -f $@.new $@
>>
>> +$(inst_libdir)/libm-$(lib-version).a: $(objpfx)libm.a
>> +     cp $(objpfx)libm.a $(inst_libdir)/libm-$(lib-version).a
>
> Use automatic variables.

I also have tried

>> +$(inst_libdir)/libm-$(lib-version).a: $(objpfx)libm.a
>> +     cp $(objpfx)libm.a $@

but it doesn't work. libm-.a was created instead of libm-2.24.90.a.


--
WBR,
Andrew

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-12-12 16:29                                   ` Andrew Senkevich
@ 2016-12-12 16:42                                     ` Andreas Schwab
  2016-12-12 17:58                                       ` Andrew Senkevich
  0 siblings, 1 reply; 26+ messages in thread
From: Andreas Schwab @ 2016-12-12 16:42 UTC (permalink / raw)
  To: Andrew Senkevich; +Cc: H.J. Lu, libc-alpha

On Dez 12 2016, Andrew Senkevich <andrew.n.senkevich@gmail.com> wrote:

> 2016-12-12 19:18 GMT+03:00 Andreas Schwab <schwab@suse.de>:
>> On Dez 12 2016, Andrew Senkevich <andrew.n.senkevich@gmail.com> wrote:
>>
>>> diff --git a/math/Makefile b/math/Makefile
>>> index 49556f6..38ce4ab 100644
>>> --- a/math/Makefile
>>> +++ b/math/Makefile
>>> @@ -143,15 +143,17 @@ $(inst_libdir)/libm.so: $(common-objpfx)format.lds \
>>>       ) > $@.new
>>>       mv -f $@.new $@
>>>
>>> +$(inst_libdir)/libm-$(lib-version).a: $(objpfx)libm.a
>>> +     cp $(objpfx)libm.a $(inst_libdir)/libm-$(lib-version).a
>>
>> Use automatic variables.
>
> I also have tried
>
>>> +$(inst_libdir)/libm-$(lib-version).a: $(objpfx)libm.a
>>> +     cp $(objpfx)libm.a $@
>
> but it doesn't work. libm-.a was created instead of libm-2.24.90.a.

That means that the target is wrong.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-12-12 16:42                                     ` Andreas Schwab
@ 2016-12-12 17:58                                       ` Andrew Senkevich
  2016-12-13  8:41                                         ` Andreas Schwab
  0 siblings, 1 reply; 26+ messages in thread
From: Andrew Senkevich @ 2016-12-12 17:58 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: H.J. Lu, libc-alpha

[-- Attachment #1: Type: text/plain, Size: 2164 bytes --]

2016-12-12 19:42 GMT+03:00 Andreas Schwab <schwab@suse.de>:
> On Dez 12 2016, Andrew Senkevich <andrew.n.senkevich@gmail.com> wrote:
>
>> 2016-12-12 19:18 GMT+03:00 Andreas Schwab <schwab@suse.de>:
>>> On Dez 12 2016, Andrew Senkevich <andrew.n.senkevich@gmail.com> wrote:
>>>
>>>> diff --git a/math/Makefile b/math/Makefile
>>>> index 49556f6..38ce4ab 100644
>>>> --- a/math/Makefile
>>>> +++ b/math/Makefile
>>>> @@ -143,15 +143,17 @@ $(inst_libdir)/libm.so: $(common-objpfx)format.lds \
>>>>       ) > $@.new
>>>>       mv -f $@.new $@
>>>>
>>>> +$(inst_libdir)/libm-$(lib-version).a: $(objpfx)libm.a
>>>> +     cp $(objpfx)libm.a $(inst_libdir)/libm-$(lib-version).a
>>>
>>> Use automatic variables.
>>
>> I also have tried
>>
>>>> +$(inst_libdir)/libm-$(lib-version).a: $(objpfx)libm.a
>>>> +     cp $(objpfx)libm.a $@
>>
>> but it doesn't work. libm-.a was created instead of libm-2.24.90.a.
>
> That means that the target is wrong.

Indeed, we need to use $(version).

diff --git a/ChangeLog b/ChangeLog
index 91cc64d..f6ffda8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2016-12-12  Andrew Senkevich  <andrew.senkevich@intel.com>
+
+ * math/Makefile ($(inst_libdir)/libm-$(version).a): New target.
+ ($(inst_libdir)/libm.a): Correct rule to create the target only.
+
 2016-12-12  Florian Weimer  <fweimer@redhat.com>

  [BZ #17252]
diff --git a/math/Makefile b/math/Makefile
index 49556f6..1973bf2 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -143,15 +143,17 @@ $(inst_libdir)/libm.so: $(common-objpfx)format.lds \
  ) > $@.new
  mv -f $@.new $@

+$(inst_libdir)/libm-$(version).a: $(objpfx)libm.a
+ cp $(objpfx)libm.a $@
+
 $(inst_libdir)/libm.a: $(common-objpfx)format.lds \
-       $(libm) \
-       $(libmvec) \
+       $(inst_libdir)/libm-$(version).a \
+       $(objpfx)../mathvec/libmvec.a \
        $(+force)
  (echo '/* GNU ld script'; echo '*/';\
  cat $<; \
- echo 'GROUP ( $(libdir)/libm-$(lib-version).a $(libdir)/libmvec.a )' \
+ echo 'GROUP ( $(libdir)/libm-$(version).a $(libdir)/libmvec.a )' \
  ) > $@.new
- cp $(objpfx)libm.a $(inst_libdir)/libm-$(lib-version).a
  mv -f $@.new $@
 endif


Ok for trunk?


--
WBR,
Andrew

[-- Attachment #2: bz20539_followup.patch --]
[-- Type: application/octet-stream, Size: 1172 bytes --]

diff --git a/ChangeLog b/ChangeLog
index 91cc64d..f6ffda8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2016-12-12  Andrew Senkevich  <andrew.senkevich@intel.com>
+
+	* math/Makefile ($(inst_libdir)/libm-$(version).a): New target.
+	($(inst_libdir)/libm.a): Correct rule to create the target only.
+
 2016-12-12  Florian Weimer  <fweimer@redhat.com>
 
 	[BZ #17252]
diff --git a/math/Makefile b/math/Makefile
index 49556f6..1973bf2 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -143,15 +143,17 @@ $(inst_libdir)/libm.so: $(common-objpfx)format.lds \
 	) > $@.new
 	mv -f $@.new $@
 
+$(inst_libdir)/libm-$(version).a: $(objpfx)libm.a
+	cp $(objpfx)libm.a $@
+
 $(inst_libdir)/libm.a: $(common-objpfx)format.lds \
-		       $(libm) \
-		       $(libmvec) \
+		       $(inst_libdir)/libm-$(version).a \
+		       $(objpfx)../mathvec/libmvec.a \
 		       $(+force)
 	(echo '/* GNU ld script'; echo '*/';\
 	 cat $<; \
-	 echo 'GROUP ( $(libdir)/libm-$(lib-version).a $(libdir)/libmvec.a )' \
+	 echo 'GROUP ( $(libdir)/libm-$(version).a $(libdir)/libmvec.a )' \
 	) > $@.new
-	cp $(objpfx)libm.a $(inst_libdir)/libm-$(lib-version).a
 	mv -f $@.new $@
 endif
 

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-12-12 17:58                                       ` Andrew Senkevich
@ 2016-12-13  8:41                                         ` Andreas Schwab
  2016-12-13 14:58                                           ` Andrew Senkevich
  0 siblings, 1 reply; 26+ messages in thread
From: Andreas Schwab @ 2016-12-13  8:41 UTC (permalink / raw)
  To: Andrew Senkevich; +Cc: H.J. Lu, libc-alpha

On Dez 12 2016, Andrew Senkevich <andrew.n.senkevich@gmail.com> wrote:

> diff --git a/math/Makefile b/math/Makefile
> index 49556f6..1973bf2 100644
> --- a/math/Makefile
> +++ b/math/Makefile
> @@ -143,15 +143,17 @@ $(inst_libdir)/libm.so: $(common-objpfx)format.lds \
>   ) > $@.new
>   mv -f $@.new $@
>
> +$(inst_libdir)/libm-$(version).a: $(objpfx)libm.a
> + cp $(objpfx)libm.a $@

This should use $(do-install), and all install targets should depend on
$(+force).  Ok with that change.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH] Install libm.a as linker script [BZ #20539]
  2016-12-13  8:41                                         ` Andreas Schwab
@ 2016-12-13 14:58                                           ` Andrew Senkevich
  0 siblings, 0 replies; 26+ messages in thread
From: Andrew Senkevich @ 2016-12-13 14:58 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: H.J. Lu, libc-alpha

2016-12-13 11:41 GMT+03:00 Andreas Schwab <schwab@suse.de>:
> On Dez 12 2016, Andrew Senkevich <andrew.n.senkevich@gmail.com> wrote:
>
>> diff --git a/math/Makefile b/math/Makefile
>> index 49556f6..1973bf2 100644
>> --- a/math/Makefile
>> +++ b/math/Makefile
>> @@ -143,15 +143,17 @@ $(inst_libdir)/libm.so: $(common-objpfx)format.lds \
>>   ) > $@.new
>>   mv -f $@.new $@
>>
>> +$(inst_libdir)/libm-$(version).a: $(objpfx)libm.a
>> + cp $(objpfx)libm.a $@
>
> This should use $(do-install), and all install targets should depend on
> $(+force).  Ok with that change.

Committed, thanks.


--
WBR,
Andrew

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2016-12-13 14:58 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-20 19:21 [PATCH] Install libm.a as linker script [BZ #20539] Andrew Senkevich
2016-10-24 22:02 ` H.J. Lu
2016-11-14 19:16   ` Andrew Senkevich
2016-11-14 19:22     ` H.J. Lu
2016-12-05 19:40   ` Andrew Senkevich
2016-12-05 20:01     ` H.J. Lu
2016-12-06 12:17       ` Andrew Senkevich
2016-12-06 14:17         ` Andreas Schwab
2016-12-06 14:49           ` Andrew Senkevich
2016-12-06 15:21             ` Andreas Schwab
2016-12-06 15:50               ` Andrew Senkevich
2016-12-06 21:49                 ` H.J. Lu
2016-12-07 10:34                   ` Andrew Senkevich
2016-12-07 16:22                     ` H.J. Lu
2016-12-07 20:04                       ` Andrew Senkevich
2016-12-07 21:50                         ` H.J. Lu
2016-12-09 15:39                         ` Andreas Schwab
2016-12-09 17:42                           ` Andrew Senkevich
2016-12-09 18:23                             ` Andreas Schwab
2016-12-12 15:45                               ` Andrew Senkevich
2016-12-12 16:18                                 ` Andreas Schwab
2016-12-12 16:29                                   ` Andrew Senkevich
2016-12-12 16:42                                     ` Andreas Schwab
2016-12-12 17:58                                       ` Andrew Senkevich
2016-12-13  8:41                                         ` Andreas Schwab
2016-12-13 14:58                                           ` Andrew Senkevich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).