glibc/sysdeps/s390
Stefan Liebler 914a4e0557 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.
2018-12-18 13:57:10 +01:00
..
bits Unify and simplify bits/byteswap.h, bits/byteswap-16.h headers (bug 14508, bug 15512, bug 17082, bug 20530). 2018-02-06 21:55:08 +00:00
fpu S390: Regenerate ULPs. 2018-11-28 15:20:18 +01:00
multiarch S390: Refactor strcpy ifunc handling. 2018-12-18 13:57:10 +01:00
nptl nptl: Remove __ASSUME_PRIVATE_FUTEX 2018-05-17 04:25:10 -07:00
s390-32 S390: Refactor strcpy ifunc handling. 2018-12-18 13:57:10 +01:00
s390-64 S390: Refactor strcpy ifunc handling. 2018-12-18 13:57:10 +01:00
abort-instr.h S390: Use __asm__ instead of asm. 2015-11-20 08:56:40 +01:00
asm-syntax.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
atomic-machine.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
bzero.c S390: Implement bzero with memset. 2018-12-18 13:57:05 +01:00
configure S390: Add configure check to detect z13 as mininum architecture level set. 2018-12-18 13:57:08 +01:00
configure.ac S390: Add configure check to detect z13 as mininum architecture level set. 2018-12-18 13:57:08 +01:00
dl-irel.h [BZ #20271] Add newlines in __libc_fatal calls. 2018-08-31 18:04:32 -07:00
dl-procinfo.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-procinfo.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-tls.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ffs.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fix-fp-int-convert-overflow.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
gccframe.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
gconv-modules Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
gmp-mparam.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ifunc-memcmp.h S390: Refactor memcmp ifunc handling. 2018-12-18 13:57:05 +01:00
ifunc-memcpy.h S390: Add z13 memmove ifunc variant. 2018-12-18 13:57:08 +01:00
ifunc-memmem.h S390: Add z13 memmem ifunc variant. 2018-12-18 13:57:09 +01:00
ifunc-memset.h S390: Implement bzero with memset. 2018-12-18 13:57:05 +01:00
ifunc-strcpy.h S390: Refactor strcpy ifunc handling. 2018-12-18 13:57:10 +01:00
ifunc-strlen.h S390: Refactor strlen ifunc handling. 2018-12-18 13:57:10 +01:00
ifunc-strnlen.h S390: Refactor strnlen ifunc handling. 2018-12-18 13:57:10 +01:00
ifunc-strstr.h S390: Add z13 strstr ifunc variant. 2018-12-18 13:57:09 +01:00
Implies
iso-8859-1_cp037_z900.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
jmpbuf-offsets.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
jmpbuf-unwind.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ldsodefs.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
libc-tls.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
linkmap.h S390: Use DT_JUMPREL in prelink undo code. 2016-07-06 15:22:35 +02:00
longjmp.c Revert "hurd: Avoid PLTs for longjmp & siglongjmp" 2018-04-05 09:38:58 +02:00
machine-gmon.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Makefile S390: Refactor strcpy ifunc handling. 2018-12-18 13:57:10 +01:00
memcmp-z900.S S390: Refactor memcmp ifunc handling. 2018-12-18 13:57:05 +01:00
memcmp.c S390: Refactor memcmp ifunc handling. 2018-12-18 13:57:05 +01:00
memcopy.h S390: Use memcpy for forward cases in memmove. 2018-12-18 13:57:07 +01:00
memcpy-z900.S S390: Add z13 memmove ifunc variant. 2018-12-18 13:57:08 +01:00
memcpy.c S390: Refactor memcpy/mempcpy ifunc handling. 2018-12-18 13:57:06 +01:00
memmem-c.c S390: Add z13 memmem ifunc variant. 2018-12-18 13:57:09 +01:00
memmem-vx.c S390: Add z13 memmem ifunc variant. 2018-12-18 13:57:09 +01:00
memmem.c S390: Add z13 memmem ifunc variant. 2018-12-18 13:57:09 +01:00
memmove-c.c S390: Add z13 memmove ifunc variant. 2018-12-18 13:57:08 +01:00
memmove.c S390: Add z13 memmove ifunc variant. 2018-12-18 13:57:08 +01:00
mempcpy.c S390: Refactor memcpy/mempcpy ifunc handling. 2018-12-18 13:57:06 +01:00
memset-z900.S S390: Implement bzero with memset. 2018-12-18 13:57:05 +01:00
memset.c S390: Refactor memset ifunc handling. 2018-12-18 13:57:04 +01:00
memusage.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
preconfigure Move base_machine and machine settings from configure.ac to sysdeps preconfigure fragments. 2014-06-25 17:52:56 +00:00
sotruss-lib.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
stackinfo.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
strcpy-vx.S S390: Refactor strcpy ifunc handling. 2018-12-18 13:57:10 +01:00
strcpy-z900.S S390: Refactor strcpy ifunc handling. 2018-12-18 13:57:10 +01:00
strcpy.c S390: Refactor strcpy ifunc handling. 2018-12-18 13:57:10 +01:00
string_private.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
strlen-c.c S390: Refactor strlen ifunc handling. 2018-12-18 13:57:10 +01:00
strlen-vx.S S390: Refactor strlen ifunc handling. 2018-12-18 13:57:10 +01:00
strlen.c S390: Refactor strlen ifunc handling. 2018-12-18 13:57:10 +01:00
strnlen-c.c S390: Refactor strnlen ifunc handling. 2018-12-18 13:57:10 +01:00
strnlen-vx.S S390: Refactor strnlen ifunc handling. 2018-12-18 13:57:10 +01:00
strnlen.c S390: Refactor strnlen ifunc handling. 2018-12-18 13:57:10 +01:00
strstr-c.c S390: Add z13 strstr ifunc variant. 2018-12-18 13:57:09 +01:00
strstr-vx.c S390: Add z13 strstr ifunc variant. 2018-12-18 13:57:09 +01:00
strstr.c S390: Add z13 strstr ifunc variant. 2018-12-18 13:57:09 +01:00
tst-dl-runtime-mod.S S390: Test that lazy binding does not clobber R0 2018-08-10 09:07:43 +02:00
tst-dl-runtime-profile-audit.c S390: Test that lazy binding does not clobber R0 2018-08-10 09:07:43 +02:00
tst-dl-runtime-profile-noaudit.c S390: Test that lazy binding does not clobber R0 2018-08-10 09:07:43 +02:00
tst-dl-runtime-resolve-audit.c S390: Test that lazy binding does not clobber R0 2018-08-10 09:07:43 +02:00
tst-dl-runtime-resolve-noaudit.c S390: Test that lazy binding does not clobber R0 2018-08-10 09:07:43 +02:00
tst-dl-runtime.c S390: Test that lazy binding does not clobber R0 2018-08-10 09:07:43 +02:00
utf8-utf16-z9.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
utf8-utf32-z9.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
utf16-utf32-z9.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Versions S/390: Revert the jmp_buf/ucontext_t ABI change. 2014-07-31 20:04:54 +02:00