Install libm.a as linker script [BZ #20539]

Message ID CAMXFM3u_AO3Ofr=VC8Lzxez7Gex_iULRLKfh9cUnYOEku+wFnQ@mail.gmail.com
State New, archived
Headers

Commit Message

Andrew Senkevich Dec. 12, 2016, 5:58 p.m. UTC
  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).


Ok for trunk?


--
WBR,
Andrew
  

Comments

Andreas Schwab Dec. 13, 2016, 8:41 a.m. UTC | #1
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.
  
Andrew Senkevich Dec. 13, 2016, 2:58 p.m. UTC | #2
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
  

Patch

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