S390: Refactor strcpy ifunc handling.
authorStefan Liebler <stli@linux.ibm.com>
Tue, 18 Dec 2018 12:57:10 +0000 (13:57 +0100)
committerStefan Liebler <stli@linux.ibm.com>
Tue, 18 Dec 2018 12:57:10 +0000 (13:57 +0100)
commit914a4e05572e108201d71dcd3e47da8aeeecd70d
tree1c649803636c06ef474ddbe8909910dd128c9426
parentde10e44dda686e3ed6a7a1463869df846ea39825
S390: Refactor strcpy ifunc handling.

The ifunc handling for strcpy 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 mvst instruction
are now moved to the unified strcpy-z900.S file which can be used for
31/64bit. The s390-32/s390-64 files multiarch/strcpy.c and strcpy.S
are deleted.

ChangeLog:

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