]> git.ipfire.org Git - thirdparty/glibc.git/commit
S390: Refactor memcmp ifunc handling.
authorStefan Liebler <stli@linux.ibm.com>
Tue, 18 Dec 2018 12:57:05 +0000 (13:57 +0100)
committerStefan Liebler <stli@linux.ibm.com>
Tue, 18 Dec 2018 12:57:05 +0000 (13:57 +0100)
commitb7e024a838452a85870256d8f1ab946dc8f931cd
tree4eb67ea1437b18ba1bb12eff45b18cffac29a671
parent6c6b8c747096d74b900e2711b9b0d463677f6d31
S390: Refactor memcmp ifunc handling.

This patch moves all ifunc variants for memcmp
to sysdeps/s390/memcmp-z900.S. The configure-check/preprocessor logic
in sysdeps/s390/ifunc-memcmp.h decides if ifunc is needed at all
and which ifunc variants should be available.
E.g. if the compiler/assembler already supports z196 by default,
the older ifunc variants are not included.
If we only need the newest ifunc variant,
then we can skip ifunc at all.

Therefore the ifunc-resolvers and __libc_ifunc_impl_list are adjusted
in order to handle only the available ifunc variants.

ChangeLog:

* sysdeps/s390/ifunc-memcmp.h: New File.
* sysdeps/s390/memcmp.S: Move to ...
* sysdeps/s390/memcmp-z900.S ... here.
Move implementations from memcmp-s390x.s to here.
* sysdeps/s390/multiarch/memcmp-s390x.S: Delete File.
* sysdeps/s390/multiarch/Makefile (sysdep_routines):
Remove memcmp variants.
* sysdeps/s390/Makefile (sysdep_routines):
Add memcmp variants.
* sysdeps/s390/multiarch/ifunc-impl-list.c
(__libc_ifunc_impl_list): Adjust ifunc variants for
memcmp.
* sysdeps/s390/multiarch/memcmp.c: Move ifunc resolver
to ...
* sysdeps/s390/memcmp.c: ... here.
Adjust ifunc variants for memcmp.
ChangeLog
sysdeps/s390/Makefile
sysdeps/s390/ifunc-memcmp.h [new file with mode: 0644]
sysdeps/s390/memcmp-z900.S [moved from sysdeps/s390/multiarch/memcmp-s390x.S with 54% similarity]
sysdeps/s390/memcmp.S [deleted file]
sysdeps/s390/memcmp.c [moved from sysdeps/s390/multiarch/memcmp.c with 60% similarity]
sysdeps/s390/multiarch/Makefile
sysdeps/s390/multiarch/ifunc-impl-list.c