mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-22 04:50:07 +00:00
e9873e1d47
The ifunc handling for wcsncmp 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. ChangeLog: * sysdeps/s390/multiarch/Makefile (sysdep_routines): Remove wcsncmp variants. * sysdeps/s390/Makefile (sysdep_routines): Add wcsncmp variants. * sysdeps/s390/multiarch/ifunc-impl-list.c (__libc_ifunc_impl_list): Refactor ifunc handling for wcsncmp. * sysdeps/s390/multiarch/wcsncmp-c.c: Move to ... * sysdeps/s390/wcsncmp-c.c: ... here and adjust ifunc handling. * sysdeps/s390/multiarch/wcsncmp-vx.S: Move to ... * sysdeps/s390/wcsncmp-vx.S: ... here and adjust ifunc handling. * sysdeps/s390/multiarch/wcsncmp.c: Move to ... * sysdeps/s390/wcsncmp.c: ... here and adjust ifunc handling. * sysdeps/s390/ifunc-wcsncmp.h: New file.
97 lines
3.3 KiB
Makefile
97 lines
3.3 KiB
Makefile
ifeq ($(subdir),iconvdata)
|
|
ISO-8859-1_CP037_Z900-routines := iso-8859-1_cp037_z900
|
|
ISO-8859-1_CP037_Z900-map := gconv.map
|
|
|
|
UTF8_UTF32_Z9-routines := utf8-utf32-z9
|
|
UTF8_UTF32_Z9-map := gconv.map
|
|
|
|
UTF16_UTF32_Z9-routines := utf16-utf32-z9
|
|
UTF16_UTF32_Z9-map := gconv.map
|
|
|
|
UTF8_UTF16_Z9-routines := utf8-utf16-z9
|
|
UTF8_UTF16_Z9-map := gconv.map
|
|
|
|
s390x-iconv-modules = ISO-8859-1_CP037_Z900 UTF8_UTF16_Z9 UTF16_UTF32_Z9 UTF8_UTF32_Z9
|
|
|
|
extra-modules-left += $(s390x-iconv-modules)
|
|
include extra-module.mk
|
|
|
|
cpp-srcs-left := $(foreach mod,$(s390x-iconv-modules),$($(mod)-routines))
|
|
lib := iconvdata
|
|
include $(patsubst %,$(..)libof-iterator.mk,$(cpp-srcs-left))
|
|
|
|
extra-objs += $(addsuffix .so, $(s390x-iconv-modules))
|
|
install-others += $(patsubst %, $(inst_gconvdir)/%.so, $(s390x-iconv-modules))
|
|
|
|
$(patsubst %, $(inst_gconvdir)/%.so, $(s390x-iconv-modules)) : \
|
|
$(inst_gconvdir)/%.so: $(objpfx)%.so $(+force)
|
|
$(do-install-program)
|
|
|
|
sysdeps-gconv-modules = ../sysdeps/s390/gconv-modules
|
|
endif
|
|
|
|
ifeq ($(subdir),elf)
|
|
ifeq ($(build-shared),yes)
|
|
tests += tst-dl-runtime-resolve-noaudit tst-dl-runtime-resolve-audit \
|
|
tst-dl-runtime-profile-noaudit
|
|
# FIXME: When both LD_PROFILE and LD_AUDIT are set, a segfault occurs.
|
|
#tests += tst-dl-runtime-profile-audit
|
|
modules-names += tst-dl-runtime-mod
|
|
$(objpfx)tst-dl-runtime-resolve-noaudit: $(objpfx)tst-dl-runtime-mod.so
|
|
$(objpfx)tst-dl-runtime-resolve-audit: $(objpfx)tst-dl-runtime-mod.so
|
|
$(objpfx)tst-dl-runtime-profile-noaudit: $(objpfx)tst-dl-runtime-mod.so
|
|
$(objpfx)tst-dl-runtime-profile-audit: $(objpfx)tst-dl-runtime-mod.so
|
|
$(objpfx)tst-dl-runtime-resolve-audit.out: $(objpfx)tst-auditmod1.so
|
|
$(objpfx)tst-dl-runtime-profile-audit.out: $(objpfx)tst-auditmod1.so
|
|
# The profiling output goes to $LD_PROFILE_OUTPUT/$LD_PROFILE.profile
|
|
env-profile = LD_PROFILE=$(objpfx)tst-dl-runtime-mod.so \
|
|
LD_PROFILE_OUTPUT=/
|
|
env-audit = LD_AUDIT=$(objpfx)tst-auditmod1.so
|
|
tst-dl-runtime-resolve-audit-ENV = $(env-audit)
|
|
tst-dl-runtime-profile-noaudit-ENV = $(env-profile)
|
|
tst-dl-runtime-profile-audit-ENV = $(env-profile) $(env-audit)
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(subdir),string)
|
|
sysdep_routines += bzero memset memset-z900 \
|
|
memcmp memcmp-z900 \
|
|
mempcpy memcpy memcpy-z900 \
|
|
memmove memmove-c \
|
|
strstr strstr-vx strstr-c \
|
|
memmem memmem-vx memmem-c \
|
|
strlen strlen-vx strlen-c \
|
|
strnlen strnlen-vx strnlen-c \
|
|
strcpy strcpy-vx strcpy-z900 \
|
|
stpcpy stpcpy-vx stpcpy-c \
|
|
strncpy strncpy-vx strncpy-z900 \
|
|
stpncpy stpncpy-vx stpncpy-c \
|
|
strcat strcat-vx strcat-c \
|
|
strncat strncat-vx strncat-c \
|
|
strcmp strcmp-vx strcmp-z900 \
|
|
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 memchr-z900 \
|
|
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
|
|
endif
|