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

Message ID CAMXFM3uyGBgNhZpWr3EzEiQOsHouAPxrfvuqgdD9OkFy4xRUog@mail.gmail.com
State New, archived
Headers

Commit Message

Andrew Senkevich Dec. 12, 2016, 3:44 p.m. UTC
  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:



--
WBR,
Andrew
  

Comments

Andreas Schwab Dec. 12, 2016, 4:18 p.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..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.
  
Andrew Senkevich Dec. 12, 2016, 4:28 p.m. UTC | #2
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
  
Andreas Schwab Dec. 12, 2016, 4:42 p.m. UTC | #3
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.
  

Patch

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