S390: Refactor strcmp ifunc handling.
authorStefan Liebler <stli@linux.ibm.com>
Tue, 18 Dec 2018 12:57:13 +0000 (13:57 +0100)
committerStefan Liebler <stli@linux.ibm.com>
Tue, 18 Dec 2018 12:57:13 +0000 (13:57 +0100)
commitcdab85fe33b0443a645509cbb5b929a0d3307f18
tree231fd013ee1ee76e974d649bb67ad90c7da6720d
parentb935335155d65971fe2a54e32c0eb74303d4e4fc
S390: Refactor strcmp ifunc handling.

The ifunc handling for strcmp is adjusted in order to omit ifunc
variants if those will never be used as the minimum architecture level
already supports newer CPUs by default.
Glibc internal calls will then also use the "newer" ifunc variant.

Note: The fallback s390-32/s390-64 ifunc variants with clst instruction
are now moved to the unified strcmp-z900.S file which can be used for
31/64bit. The s390-32/s390-64 files multiarch/strcmp.c and strcmp.S
are deleted.

ChangeLog:

* sysdeps/s390/multiarch/Makefile
(sysdep_routines): Remove strcmp variants.
* sysdeps/s390/Makefile (sysdep_routines): Add strcmp variants.
* sysdeps/s390/multiarch/ifunc-impl-list.c
(__libc_ifunc_impl_list): Refactor ifunc handling for strcmp.
* sysdeps/s390/multiarch/strcmp-vx.S: Move to ...
* sysdeps/s390/strcmp-vx.S: ... here and adjust ifunc handling.
* sysdeps/s390/multiarch/strcmp.c: Move to ...
* sysdeps/s390/strcmp.c: ... here and adjust ifunc handling.
* sysdeps/s390/ifunc-strcmp.h: New file.
* sysdeps/s390/s390-64/strcmp.S: Move to ...
* sysdeps/s390/strcmp-z900.S: ... here and adjust to be usable
for 31/64bit and ifunc handling.
* sysdeps/s390/s390-32/multiarch/strcmp.c: Delete file.
* sysdeps/s390/s390-64/multiarch/strcmp.c: Likewise.
* sysdeps/s390/s390-32/strcmp.S: Likewise.
ChangeLog
sysdeps/s390/Makefile
sysdeps/s390/ifunc-strcmp.h [new file with mode: 0644]
sysdeps/s390/multiarch/Makefile
sysdeps/s390/multiarch/ifunc-impl-list.c
sysdeps/s390/s390-32/multiarch/strcmp.c [deleted file]
sysdeps/s390/s390-32/strcmp.S [deleted file]
sysdeps/s390/s390-64/multiarch/strcmp.c [deleted file]
sysdeps/s390/strcmp-vx.S [moved from sysdeps/s390/multiarch/strcmp-vx.S with 90% similarity]
sysdeps/s390/strcmp-z900.S [moved from sysdeps/s390/s390-64/strcmp.S with 70% similarity]
sysdeps/s390/strcmp.c [moved from sysdeps/s390/multiarch/strcmp.c with 71% similarity]