about summary refs log tree commit diff
path: root/sysdeps/s390/multiarch/Makefile
diff options
context:
space:
mode:
authorStefan Liebler <stli@linux.ibm.com>2018-12-18 13:57:22 +0100
committerStefan Liebler <stli@linux.ibm.com>2018-12-18 13:57:22 +0100
commit4753713aaed400d88cfc598e25d504478120b065 (patch)
tree99af0df98fb82cd59be28de908c79b95d78258b9 /sysdeps/s390/multiarch/Makefile
parentc09c1b6f014a45f6c4ba189f5ae94b1fb1a2982a (diff)
downloadglibc-4753713aaed400d88cfc598e25d504478120b065.tar.gz
glibc-4753713aaed400d88cfc598e25d504478120b065.tar.xz
glibc-4753713aaed400d88cfc598e25d504478120b065.zip
S390: Refactor wcsrchr ifunc handling.
The ifunc handling for wcsrchr is adjusted in order to omit ifunc
if the minimum architecture level already supports newer CPUs by default.
Unfortunately the c ifunc variant can't be omitted at all as it is used
by the z13 ifunc variant as fallback if the pointers are not 4-byte aligned.

ChangeLog:

	* sysdeps/s390/multiarch/Makefile
	(sysdep_routines): Remove wcsrchr variants.
	* sysdeps/s390/Makefile (sysdep_routines): Add wcsrchr variants.
	* sysdeps/s390/multiarch/ifunc-impl-list.c
	(__libc_ifunc_impl_list): Refactor ifunc handling for wcsrchr.
	* sysdeps/s390/multiarch/wcsrchr-c.c: Move to ...
	* sysdeps/s390/wcsrchr-c.c: ... here and adjust ifunc handling.
	* sysdeps/s390/multiarch/wcsrchr-vx.S: Move to ...
	* sysdeps/s390/wcsrchr-vx.S: ... here and adjust ifunc handling.
	* sysdeps/s390/multiarch/wcsrchr.c: Move to ...
	* sysdeps/s390/wcsrchr.c: ... here and adjust ifunc handling.
	* sysdeps/s390/ifunc-wcsrchr.h: New file.
Diffstat (limited to 'sysdeps/s390/multiarch/Makefile')
-rw-r--r--sysdeps/s390/multiarch/Makefile3
1 files changed, 1 insertions, 2 deletions
diff --git a/sysdeps/s390/multiarch/Makefile b/sysdeps/s390/multiarch/Makefile
index 0eb01d5d84..3d72cbb5f3 100644
--- a/sysdeps/s390/multiarch/Makefile
+++ b/sysdeps/s390/multiarch/Makefile
@@ -1,6 +1,5 @@
 ifeq ($(subdir),wcsmbs)
-sysdep_routines += wcsrchr wcsrchr-vx wcsrchr-c \
-		   wcsspn wcsspn-vx wcsspn-c \
+sysdep_routines += wcsspn wcsspn-vx wcsspn-c \
 		   wcspbrk wcspbrk-vx wcspbrk-c \
 		   wcscspn wcscspn-vx wcscspn-c \
 		   wmemchr wmemchr-vx wmemchr-c \