about summary refs log tree commit diff
path: root/sysdeps/s390/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/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/Makefile')
-rw-r--r--sysdeps/s390/Makefile3
1 files changed, 2 insertions, 1 deletions
diff --git a/sysdeps/s390/Makefile b/sysdeps/s390/Makefile
index a8cd264521..a2c641e81f 100644
--- a/sysdeps/s390/Makefile
+++ b/sysdeps/s390/Makefile
@@ -94,5 +94,6 @@ sysdep_routines += wcslen wcslen-vx wcslen-c \
 		   wcscmp wcscmp-vx wcscmp-c \
 		   wcsncmp wcsncmp-vx wcsncmp-c \
 		   wcschr wcschr-vx wcschr-c \
-		   wcschrnul wcschrnul-vx wcschrnul-c
+		   wcschrnul wcschrnul-vx wcschrnul-c \
+		   wcsrchr wcsrchr-vx wcsrchr-c
 endif