mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-22 21:10:07 +00:00
18eb862d45
This patch moves all ifunc variants for memcpy/mempcpy to sysdeps/s390/memcpy-z900.S. The configure-check/preprocessor logic in sysdeps/s390/ifunc-memcpy.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-memcpy.h: New File. * sysdeps/s390/memcpy.S: Move to ... * sysdeps/s390/memcpy-z900.S ... here. Move implementations from memcpy-s390x.s to here. * sysdeps/s390/multiarch/memcpy-s390x.S: Delete File. * sysdeps/s390/multiarch/Makefile (sysdep_routines): Remove memcpy/mempcpy variants. * sysdeps/s390/Makefile (sysdep_routines): Add memcpy/mempcpy variants. * sysdeps/s390/multiarch/ifunc-impl-list.c (__libc_ifunc_impl_list): Adjust ifunc variants for memcpy and mempcpy. * sysdeps/s390/multiarch/memcpy.c: Move ifunc resolver to ... * sysdeps/s390/memcpy.c: ... here. Adjust ifunc variants for memcpy. * sysdeps/s390/multiarch/mempcpy.c: Move to ... * sysdeps/s390/mempcpy.c: ... here. Adjust ifunc variants for mempcpy. * sysdeps/s390/mempcpy.S: Delete file.
59 lines
1.7 KiB
Makefile
59 lines
1.7 KiB
Makefile
ifeq ($(subdir),string)
|
|
sysdep_routines += strlen strlen-vx strlen-c \
|
|
strnlen strnlen-vx strnlen-c \
|
|
strcpy strcpy-vx \
|
|
stpcpy stpcpy-vx stpcpy-c \
|
|
strncpy strncpy-vx \
|
|
stpncpy stpncpy-vx stpncpy-c \
|
|
strcat strcat-vx strcat-c \
|
|
strncat strncat-vx strncat-c \
|
|
strcmp strcmp-vx \
|
|
strncmp strncmp-vx strncmp-c \
|
|
strchr strchr-vx strchr-c \
|
|
strchrnul strchrnul-vx strchrnul-c \
|
|
strrchr strrchr-vx strrchr-c \
|
|
strspn strspn-vx strspn-c \
|
|
strpbrk strpbrk-vx strpbrk-c \
|
|
strcspn strcspn-vx strcspn-c \
|
|
memchr memchr-vx \
|
|
rawmemchr rawmemchr-vx rawmemchr-c \
|
|
memccpy memccpy-vx memccpy-c \
|
|
memrchr memrchr-vx memrchr-c
|
|
endif
|
|
|
|
ifeq ($(subdir),wcsmbs)
|
|
sysdep_routines += wcslen wcslen-vx wcslen-c \
|
|
wcsnlen wcsnlen-vx wcsnlen-c \
|
|
wcscpy wcscpy-vx wcscpy-c \
|
|
wcpcpy wcpcpy-vx wcpcpy-c \
|
|
wcsncpy wcsncpy-vx wcsncpy-c \
|
|
wcpncpy wcpncpy-vx wcpncpy-c \
|
|
wcscat wcscat-vx wcscat-c \
|
|
wcsncat wcsncat-vx wcsncat-c \
|
|
wcscmp wcscmp-vx wcscmp-c \
|
|
wcsncmp wcsncmp-vx wcsncmp-c \
|
|
wcschr wcschr-vx wcschr-c \
|
|
wcschrnul wcschrnul-vx wcschrnul-c \
|
|
wcsrchr wcsrchr-vx wcsrchr-c \
|
|
wcsspn wcsspn-vx wcsspn-c \
|
|
wcspbrk wcspbrk-vx wcspbrk-c \
|
|
wcscspn wcscspn-vx wcscspn-c \
|
|
wmemchr wmemchr-vx wmemchr-c \
|
|
wmemset wmemset-vx wmemset-c \
|
|
wmemcmp wmemcmp-vx wmemcmp-c
|
|
endif
|
|
|
|
ifeq ($(subdir),iconvdata)
|
|
override define generate-8bit-table
|
|
$(make-target-directory)
|
|
LC_ALL=C $(SHELL) ./gen-8bit.sh $< > $(@:stmp=T)
|
|
LC_ALL=C $(SHELL) ../sysdeps/s390/multiarch/gen-8bit.sh $< >> $(@:stmp=T)
|
|
$(move-if-change) $(@:stmp=T) $(@:stmp=h)
|
|
touch $@
|
|
endef
|
|
endif
|
|
|
|
ifeq ($(subdir),iconv)
|
|
sysdep_routines += gconv_simple
|
|
endif
|