sparc: refactor sparc64 signbit{f} selector to C
commit1cbd7bfe65e4fafdf77cccccf67950d2b5570d4a
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Fri, 13 Oct 2017 12:56:49 +0000 (13 09:56 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Wed, 29 Nov 2017 18:21:27 +0000 (29 16:21 -0200)
tree49aca2fc8c969ae0d8ec99e9cd4e8aef44a4eb57
parentaa1142c593447b433208a79bd5a95095cd5dd892
sparc: refactor sparc64 signbit{f} selector to C

This patch refactors the sparc64 ifunc selector to a C implementation.
Also, the generic symbol is moved to its own implementation file
(s_signbit{f}-generic.S).

It also simplifies the multiarch Makefile by moving the common objects
from libm-sysdeps_routines and sysdeps_routines to a new sysdeps_call
rule and including it where required with the correct prefix.

Checked on sparc64-linux-gnu and sparcv9-linux-gnu.

* sysdeps/sparc/sparc-ifunc.h (sparc_libm_ifunc_redirected): New
macro.
* sysdeps/sparc/sparc64/fpu/multiarch/Makefile (sysdep_calls): New
rule.
(sysdep_routines): Use sysdep_calls as base.
(libm-sysdep_routines): Add generic rule for symbols shared with
libc.  Add s_signbit-generic and s_signbitf-generic objects.
* sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.c: New file.
* sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf.c: Likewise.
* sysdeps/sparc/sparc64/fpu/multiarch/s_signbit-generic.S: Likewise.
* sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf-generic.S: Likewise.
* sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S: Remove file.
* sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf.S: Likewise.

Signed-off-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
ChangeLog
sysdeps/sparc/sparc-ifunc.h
sysdeps/sparc/sparc64/fpu/multiarch/Makefile
sysdeps/sparc/sparc64/fpu/multiarch/s_signbit-generic.S [new file with mode: 0644]
sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S [deleted file]
sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.c [new file with mode: 0644]
sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf-generic.S [new file with mode: 0644]
sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf.S [deleted file]
sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf.c [new file with mode: 0644]