aboutsummaryrefslogtreecommitdiff
path: root/wcsmbs
AgeCommit message (Collapse)AuthorFilesLines
2015-08-26S390: Optimize strncmp and wcsncmp.Stefan Liebler1-1/+4
This patch provides optimized versions of strncmp and wcsncmp with the z13 vector instructions. ChangeLog: * sysdeps/s390/multiarch/strncmp-c.c: New File. * sysdeps/s390/multiarch/strncmp-vx.S: Likewise. * sysdeps/s390/multiarch/strncmp.c: Likewise. * sysdeps/s390/multiarch/wcsncmp-c.c: Likewise. * sysdeps/s390/multiarch/wcsncmp-vx.S: Likewise. * sysdeps/s390/multiarch/wcsncmp.c: Likewise. * sysdeps/s390/multiarch/Makefile (sysdep_routines): Add strncmp and wcsncmp functions. * sysdeps/s390/multiarch/ifunc-impl-list.c (__libc_ifunc_impl_list): Add ifunc test for strncmp, wcsncmp. * wcsmbs/wcsncmp.c (WCSNCMP): Define and use macro. * benchtests/bench-strncmp.c: Add wcsncmp support. * benchtests/bench-wcsncmp.c: New File. * benchtests/Makefile (wcsmbs-bench): Add wcsncmp.
2015-08-26S390: Optimize strncat wcsncat.Stefan Liebler3-2/+25
This patch provides optimized versions of strncat and wcsncat with the z13 vector instructions. ChangeLog: * sysdeps/s390/multiarch/strncat-c.c: New File. * sysdeps/s390/multiarch/strncat-vx.S: Likewise. * sysdeps/s390/multiarch/strncat.c: Likewise. * sysdeps/s390/multiarch/wcsncat-c.c: Likewise. * sysdeps/s390/multiarch/wcsncat-vx.S: Likewise. * sysdeps/s390/multiarch/wcsncat.c: Likewise. * sysdeps/s390/multiarch/Makefile (sysdep_routines): Add strncat and wcsncat functions. * sysdeps/s390/multiarch/ifunc-impl-list.c (__libc_ifunc_impl_list): Add ifunc test for strncat, wcsncat. * wcsmbs/wcsncat.c (WCSNCAT): Define and use macro. * string/test-strncat.c: Add wcsncat support. * wcsmbs/test-wcsncat.c: New File. * wcsmbs/Makefile (strop-tests): Add wcsncat. * benchtests/bench-strncat.c: Add wcsncat support. * benchtests/bench-wcsncat.c: New File. * benchtests/Makefile (wcsmbs-bench): Add wcsncat.
2015-08-26S390: Optimize strcat and wcscat.Stefan Liebler3-1/+26
This patch provides optimized versions of strcat and wcscat with the z13 vector instructions. ChangeLog: * sysdeps/s390/multiarch/strcat-c.c: New File. * sysdeps/s390/multiarch/strcat-vx.S: Likewise. * sysdeps/s390/multiarch/strcat.c: Likewise. * sysdeps/s390/multiarch/wcscat-c.c: Likewise. * sysdeps/s390/multiarch/wcscat-vx.S: Likewise. * sysdeps/s390/multiarch/wcscat.c: Likewise. * sysdeps/s390/multiarch/Makefile (sysdep_routines): Add strcat and wcscat functions. * sysdeps/s390/multiarch/ifunc-impl-list.c (__libc_ifunc_impl_list): Add ifunc test for strcat, wcscat. * string/strcat.c (STRCAT): Define and use macro. * wcsmbs/wcscat.c: Use WCSCAT if defined. * string/test-strcat.c: Add wcscat support. * wcsmbs/test-wcscat.c: New File. * wcsmbs/Makefile (strop-tests): Add wcscat. * benchtests/bench-strcat.c: Add wcscat support. * benchtests/bench-wcscat.c: New File. * benchtests/Makefile (wcsmbs-bench): Add wcscat.
2015-08-26S390: Optimize stpncpy and wcpncpy.Stefan Liebler3-1/+26
This patch provides optimized versions of stpncpy and wcpncpy with the z13 vector instructions. ChangeLog: * sysdeps/s390/multiarch/stpncpy-c.c: New File. * sysdeps/s390/multiarch/stpncpy-vx.S: Likewise. * sysdeps/s390/multiarch/stpncpy.c: Likewise. * sysdeps/s390/multiarch/wcpncpy-c.c: Likewise. * sysdeps/s390/multiarch/wcpncpy-vx.S: Likewise. * sysdeps/s390/multiarch/wcpncpy.c: Likewise. * sysdeps/s390/multiarch/Makefile (sysdep_routines): Add stpncpy and wcpncpy functions. * sysdeps/s390/multiarch/ifunc-impl-list.c (__libc_ifunc_impl_list): Add ifunc test for stpncpy, wcpncpy. * wcsmbs/wcpncpy.c: Use WCPNCPY if defined. * string/test-stpncpy.c: Add wcpncpy support. * wcsmbs/test-wcpncpy.c: New File. * wcsmbs/Makefile (strop-tests): Add wcpncpy. * benchtests/bench-stpncpy.c: Add wcpncpy support. * benchtests/bench-wcpncpy.c: New File. * benchtests/Makefile (wcsmbs-bench): Add wcpncpy.
2015-08-26S390: Optimize strncpy and wcsncpy.Stefan Liebler3-1/+26
This patch provides optimized versions of strncpy and wcsncpy with the z13 vector instructions. ChangeLog: * sysdeps/s390/multiarch/strncpy-vx.S: New File. * sysdeps/s390/multiarch/strncpy.c: Likewise. * sysdeps/s390/multiarch/wcsncpy-c.c: Likewise. * sysdeps/s390/multiarch/wcsncpy-vx.S: Likewise. * sysdeps/s390/multiarch/wcsncpy.c: Likewise. * sysdeps/s390/s390-32/multiarch/strncpy.c: Likewise. * sysdeps/s390/s390-64/multiarch/strncpy.c: Likewise. * sysdeps/s390/multiarch/Makefile (sysdep_routines): Add strncpy and wcsncpy functions. * wcsmbs/wcsncpy.c: Use WCSNCPY if defined. * sysdeps/s390/multiarch/ifunc-impl-list.c (__libc_ifunc_impl_list): Add ifunc test for strncpy, wcsncpy. * string/test-strncpy.c: Add wcsncpy support. * wcsmbs/test-wcsncpy.c: New File. * wcsmbs/Makefile (strop-tests): Add wcsncpy. * benchtests/bench-strncpy.c: Add wcsncpy support. * benchtests/bench-wcsncpy.c: New File. * benchtests/Makefile (wcsmbs-bench): Add wcsncpy
2015-08-26S390: Optimize stpcpy and wcpcpy.Stefan Liebler3-2/+27
This patch provides optimized versions of stpcpy and wcpcpy with the z13 vector instructions. ChangeLog: * sysdeps/s390/multiarch/stpcpy-c.c: New File. * sysdeps/s390/multiarch/stpcpy-vx.S: Likewise. * sysdeps/s390/multiarch/stpcpy.c: Likewise. * sysdeps/s390/multiarch/wcpcpy-c.c: Likewise. * sysdeps/s390/multiarch/wcpcpy-vx.S: Likewise. * sysdeps/s390/multiarch/wcpcpy.c: Likewise. * sysdeps/s390/multiarch/Makefile (sysdep_routines): Add stpcpy and wcpcpy functions. * string/stpcpy.c: Use STPCPY if defined. * wcsmbs/wcpcpy.c: Use WCPCPY if defined. * sysdeps/s390/multiarch/ifunc-impl-list.c (__libc_ifunc_impl_list): Add ifunc test for stpcpy, wcpcpy. * string/test-stpcpy.c: Add wcpcpy support. * wcsmbs/test-wcpcpy.c: New File. * wcsmbs/Makefile (strop-tests): Add wcpcpy. * benchtests/bench-stpcpy.c: Add wcpcpy support. * benchtests/bench-wcpcpy.c: New File. * benchtests/Makefile (wcsmbs-bench): Add wcpcpy.
2015-08-26S390: Optimize strnlen and wcsnlen.Stefan Liebler3-2/+27
This patch provides optimized versions of strnlen and wcsnlen with the z13 vector instructions. ChangeLog: * sysdeps/s390/multiarch/strnlen-c.c: New File. * sysdeps/s390/multiarch/strnlen-vx.S: Likewise. * sysdeps/s390/multiarch/strnlen.c: Likewise. * sysdeps/s390/multiarch/wcsnlen-c.c: Likewise. * sysdeps/s390/multiarch/wcsnlen-vx.S: Likewise. * sysdeps/s390/multiarch/wcsnlen.c: Likewise. * sysdeps/s390/multiarch/Makefile (sysdep_routines): Add strnlen and wcsnlen functions. * sysdeps/s390/multiarch/ifunc-impl-list.c (__libc_ifunc_impl_list): Add ifunc test for strnlen, wcsnlen. * wcsmbs/wcsnlen.c: Use WCSNLEN if defined. * string/test-strnlen.c: Add wcsnlen support. * wcsmbs/test-wcsnlen.c: New File. * wcsmbs/Makefile (strop-tests): Add wcsnlen. * benchtests/bench-strnlen.c: Add wcsnlen support. * benchtests/bench-wcsnlen.c: New File. * benchtests/Makefile (wcsmbs-bench): Add wcsnlen.
2015-08-05Updated __nonnull annotations for wcscat, wcsncat, wcscmp and wcsncmp [BZ ↵Daniel Marjamäki1-4/+5
#18265] This patch adds __nonnull annotations for wcscat, wcsncat, wcscmp and wcsncmp. These added annotations match the annoations for strcat, strncat, strcmp, strncmp in glibc.
2015-06-09Fix regcomp wcscoll, wcscmp namespace (bug 18497).Joseph Myers3-4/+6
regcomp brings in references to wcscoll, which isn't in all the standards that contain regcomp. In turn, wcscoll brings in references to wcscmp, also not in all those standards. This patch fixes this by making those functions into weak aliases of __wcscoll and __wcscmp and calling those names instead as needed. Tested for x86_64 and x86 (testsuite, and that disassembly of installed shared libraries is unchanged by the patch). [BZ #18497] * wcsmbs/wcscmp.c [!WCSCMP] (WCSCMP): Define as __wcscmp instead of wcscmp. (wcscmp): Define as weak alias of WCSCMP. * wcsmbs/wcscoll.c (STRCOLL): Define as __wcscoll instead of wcscoll. (USE_HIDDEN_DEF): Define. [!USE_IN_EXTENDED_LOCALE_MODEL] (wcscoll): Define as weak alias of __wcscoll. Don't use libc_hidden_weak. * wcsmbs/wcscoll_l.c (STRCMP): Define as __wcscmp instead of wcscmp. * sysdeps/i386/i686/multiarch/wcscmp-c.c [SHARED] (libc_hidden_def): Define __GI___wcscmp instead of __GI_wcscmp. (weak_alias): Undefine and redefine. * sysdeps/i386/i686/multiarch/wcscmp.S (wcscmp): Rename to __wcscmp and define as weak alias of __wcscmp. * sysdeps/x86_64/wcscmp.S (wcscmp): Likewise. * include/wchar.h (__wcscmp): Declare. Use libc_hidden_proto. (__wcscoll): Likewise. (wcscmp): Don't use libc_hidden_proto. (wcscoll): Likewise. * posix/regcomp.c (build_range_exp): Call __wcscoll instead of wcscoll. * posix/regexec.c (check_node_accept_bytes): Likewise. * conform/Makefile (test-xfail-XPG3/regex.h/linknamespace): Remove variable. (test-xfail-XPG4/regex.h/linknamespace): Likewise. (test-xfail-POSIX/regex.h/linknamespace): Likewise.
2015-06-03Fix fnmatch wmemchr namespace (bug 18468).Joseph Myers1-2/+4
fnmatch brings in references to wmemchr, which isn't in all the standards that contain fnmatch, resulting in linknamespace test failures. This patch fixes this in the usual way, making wmemchr into a weak alias for __wmemchr. Tested for x86_64 and x86 (testsuite, and that disassembly of installed shared libraries is unchanged by the patch). [BZ #18468] * wcsmbs/wmemchr.c (wmemchr): Rename to __wmemchr and define as weak alias of __wmemchr. Use libc_hidden_weak. * include/wchar.h (__wmemchr): Declare. Use libc_hidden_proto. * posix/fnmatch.c [HANDLE_MULTIBYTE] (MEMCHR): Use __wmemchr instead of wmemchr.
2015-05-12Improve strcoll with strdiff.Leonhard Holz1-0/+1
This patch improves strcoll hot case by finding first byte that mismatches. That is in likely case enough to determine comparison result.
2015-05-05Add __nonnull attribute to wcscpy and wcsncpy [BZ#18265]Daniel Marjamäki1-2/+4
2015-04-15powerpc: Fix __wcschr static buildAdhemerval Zanella1-12/+5
This patch fix the static build for strftime, which uses __wcschr. Current powerpc32 implementation defines the __wcschr be an alias to __wcschr_ppc32 and current implementation misses the correct alias for static build. It also changes the default wcschr.c logic so a IFUNC implementation should just define WCSCHR and undefine the required alias/internal definitions.
2015-04-13Use correct signedness in wcsncmpStefan Liebler3-19/+21
[BZ #18206] * wcsmbs/wcsncmp.c (wcsncmp): Compare as wchar_t, not wint_t. Use signed comparision instead of substraction to avoid overflow bug. * localedata/tests-mbwc/tst_wcsncmp.c (tst_wcsncmp): Take the sign of ret. * localedata/tests-mbwc/dat_wcsncmp.c (tst_wcsncmp_loc): Do not expect precise return values. Only the sign matters. * wcsmbs/Makefile (strop-tests): Add wcsncmp. * wcsmbs/test-wcsncmp.c: New File. * string/test-strncmp.c: Add wcsncmp support.
2015-04-03Handle mblen return code when n is zero.Ondřej Bílka2-0/+6
2015-02-11Remove unused definitionsLeonhard Holz2-2/+0
2015-01-02Update copyright dates with scripts/update-copyrights.Joseph Myers82-82/+82
2014-12-10Fix strftime wcschr namespace (bug 17634).Joseph Myers1-0/+7
Use of strftime, a C90 function, ends up bringing in wcschr, which is not a C90 function. Although not a conformance bug (C90 reserves wcs*), this is still contrary to glibc practice of avoiding relying on those reservations; this patch arranges for the internal uses to use __wcschr instead, with wcschr being a weak alias. This is more complicated than some such patches because of the various IFUNC definitions of wcschr (which include code redefining libc_hidden_def in a way that involves creating __GI_wcschr manually and so also needs to create __GI___wcschr after the change of internal uses to use __wcschr). Tested for x86_64 and 32-bit x86 (testsuite, and that disassembly of installed shared libraries is unchanged by the patch). 2014-12-10 Joseph Myers <joseph@codesourcery.com> Adhemerval Zanella <azanella@linux.vnet.ibm.com> [BZ #17634] * wcsmbs/wcschr.c [!WCSCHR] (wcschr): Define as __wcschr. Undefine after defining function. Define as weak alias of __wcschr. Use libc_hidden_weak. * include/wchar.h (__wcschr): Declare. Use libc_hidden_proto. * sysdeps/i386/i686/multiarch/wcschr-c.c [IS_IN (libc) && SHARED] (libc_hidden_def): Also define __GI___wcschr alias. * sysdeps/i386/i686/multiarch/wcschr.S (wcschr): Rename to __wcschr and define as weak alias of __wcschr. * sysdeps/powerpc/power6/wcschr.c [!WCSCHR] (WCSCHR): Define as __wcschr. [!WCSCHR] (DEFAULT_WCSCHR): Define. [DEFAULT_WCSCHR] (__wcschr): Use libc_hidden_def. [DEFAULT_WCSCHR] (wcschr): Define as weak alias of __wcschr. Use libc_hidden_weak. Do not use libc_hidden_def. * sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-ppc32.c [IS_IN (libc) && SHARED] (libc_hidden_def): Also define __GI___wcschr alias. * sysdeps/powerpc/powerpc32/power4/multiarch/wcschr.c [IS_IN (libc)] (wcschr): Define as macro expanding to __redirect_wcschr. [IS_IN (libc)] (__wcschr_ppc): Use __redirect_wcschr in typeof. [IS_IN (libc)] (__wcschr_power6): Likewise. [IS_IN (libc)] (__wcschr_power7): Likewise. [IS_IN (libc)] (__libc_wcschr): New. Define with libc_ifunc instead of wcschr. [IS_IN (libc)] (wcschr): Undefine and define as weak alias of __libc_wcschr. [!IS_IN (libc)] (libc_hidden_def): Do not undefine and redefine. * sysdeps/powerpc/powerpc64/multiarch/wcschr.c (wcschr): Rename to __wcschr and define as weak alias of __wcschr. Use libc_hidden_builtin_def. * sysdeps/x86_64/wcschr.S (wcschr): Rename to __wcschr and define as weak alias of __wcschr. Use libc_hidden_weak. * time/alt_digit.c (_nl_get_walt_digit): Use __wcschr instead of wcschr. * time/era.c (_nl_init_era_entries): Likewise. * conform/Makefile (test-xfail-ISO/time.h/linknamespace): Remove variable. (test-xfail-XPG3/time.h/linknamespace): Likewise. (test-xfail-XPG4/time.h/linknamespace): Likewise.
2014-11-26Remove TEST_IFUNC, tests-ifunc and *-ifunc.c tests.Joseph Myers7-122/+0
TEST_IFUNC is only tested in two headers, bench-string.h and test-string.h, after it gets defined by those headers, and it never gets undefined. Thus no defines of TEST_IFUNC are needed, and the *-ifunc.c tests that just define TEST_IFUNC and include other tests are also redundant, as is the code to remove $(tests-ifunc) and $(xtests-ifunc) conditionally from tests and xtests. This patch removes the useless defines and tests of TEST_IFUNC and the associated useless tests and makefile code. It thereby fixes a series of warnings "../string/test-string.h:21:0: warning: "TEST_IFUNC" redefined" where test-string.h defines TEST_IFUNC to empty, other files define it to 1 and this produces warnings. Tested for x86_64. * debug/test-stpcpy_chk-ifunc.c: Remove file. * debug/test-strcpy_chk-ifunc.c: Likewise. * wcsmbs/test-wcschr-ifunc.c: Likewise. * wcsmbs/test-wcscmp-ifunc.c: Likewise. * wcsmbs/test-wcscpy-ifunc.c: Likewise. * wcsmbs/test-wcslen-ifunc.c: Likewise. * wcsmbs/test-wcsrchr-ifunc.c: Likewise. * wcsmbs/test-wmemcmp-ifunc.c: Likewise. * Rules [$(multi-arch) = no] (tests): Do not filter out $(tests-ifunc). [$(multi-arch) = no] (xtests): Do not filter out $(xtests-ifunc). * debug/Makefile (tests-ifunc): Remove variable. (tests): Do not add $(tests-ifunc). * wcsmbs/Makefile (tests-ifunc): Remove variable. (tests): Do not add $(tests-ifunc). * benchtests/bench-string.h (TEST_IFUNC): Remove macro. [TEST_IFUNC]: Remove conditionals. * string/test-string.h (TEST_IFUNC): Remove macro. [TEST_IFUNC]: Remove conditionals.
2014-11-12Fix __printf_fp wmemset namespace (bug 17574).Joseph Myers1-2/+4
__printf_fp calls wmemset, but that is not an ISO C90 function. This patch fixes it to call a new __wmemset name instead (with wmemset being a weak alias). Tested for x86_64 (testsuite, and that disassembly of installed shared libraries is unchanged by the patch). [BZ #17574] * wcsmbs/wmemset.c (wmemset): Rename to __wmemset and define as weak alias of __wmemset. Use libc_hidden_weak. (__wmemset): Use libc_hidden_def. * include/wchar.h (__wmemset): Declare. Use libc_hidden_proto. * stdio-common/printf_fp.c (___printf_fp): Call __wmemset instead of wmemset.
2014-11-05Modify several tests to use test-skeleton.cArjun Shankar8-16/+40
This patch modifies several test cases to use test-skeleton.c. It was generated by a bash script written for this purpose and thus excludes several other tests which I deemed worth a visual inspection before making the change. I intend to follow up with individual patches to the tests skipped by the script. The script itself resides at http://git.io/WODAmg and should reproduce this very patch when run against master. ChangeLog: 2014-10-30 Arjun Shankar <arjun.is@lostca.se> * catgets/test-gencat.c: Use test-skeleton.c. * catgets/tst-catgets.c: Likewise. * csu/tst-empty.c: Likewise. * elf/tst-audit2.c: Likewise. * elf/tst-global1.c: Likewise. * elf/tst-pathopt.c: Likewise. * elf/tst-piemod1.c: Likewise. * elf/tst-tls10.c: Likewise. * elf/tst-tls11.c: Likewise. * elf/tst-tls12.c: Likewise. * gnulib/tst-gcc.c: Likewise. * iconvdata/tst-e2big.c: Likewise. * iconvdata/tst-loading.c: Likewise. * iconv/tst-iconv1.c: Likewise. * iconv/tst-iconv2.c: Likewise. * inet/test-inet6_opt.c: Likewise. * inet/tst-gethnm.c: Likewise. * inet/tst-network.c: Likewise. * inet/tst-ntoa.c: Likewise. * intl/tst-codeset.c: Likewise. * intl/tst-gettext2.c: Likewise. * intl/tst-gettext3.c: Likewise. * intl/tst-ngettext.c: Likewise. * intl/tst-translit.c: Likewise. * io/test-stat.c: Likewise. * libio/test-fmemopen.c: Likewise. * libio/tst-freopen.c: Likewise. * libio/tst-sscanf.c: Likewise. * libio/tst-ungetwc1.c: Likewise. * libio/tst-ungetwc2.c: Likewise. * libio/tst-widetext.c: Likewise. * localedata/tst-ctype.c: Likewise. * localedata/tst-digits.c: Likewise. * localedata/tst-leaks.c: Likewise. * localedata/tst-mbswcs1.c: Likewise. * localedata/tst-mbswcs2.c: Likewise. * localedata/tst-mbswcs3.c: Likewise. * localedata/tst-mbswcs4.c: Likewise. * localedata/tst-mbswcs5.c: Likewise. * localedata/tst-setlocale.c: Likewise. * localedata/tst-trans.c: Likewise. * localedata/tst-wctype.c: Likewise. * localedata/tst-xlocale1.c: Likewise. * login/tst-grantpt.c: Likewise. * malloc/tst-calloc.c: Likewise. * malloc/tst-malloc.c: Likewise. * malloc/tst-mallocstate.c: Likewise. * malloc/tst-mcheck.c: Likewise. * malloc/tst-mtrace.c: Likewise. * malloc/tst-obstack.c: Likewise. * math/atest-exp2.c: Likewise. * math/atest-exp.c: Likewise. * math/atest-sincos.c: Likewise. * math/test-matherr.c: Likewise. * math/test-misc.c: Likewise. * math/test-powl.c: Likewise. * math/tst-definitions.c: Likewise. * misc/tst-dirname.c: Likewise. * misc/tst-efgcvt.c: Likewise. * misc/tst-fdset.c: Likewise. * misc/tst-hsearch.c: Likewise. * misc/tst-mntent2.c: Likewise. * nptl/tst-sem7.c: Likewise. * nptl/tst-sem8.c: Likewise. * nptl/tst-sem9.c: Likewise. * nss/test-netdb.c: Likewise. * posix/tst-fnmatch.c: Likewise. * posix/tst-getlogin.c: Likewise. * posix/tst-gnuglob.c: Likewise. * posix/tst-mmap.c: Likewise. * pwd/tst-getpw.c: Likewise. * resolv/tst-inet_ntop.c: Likewise. * rt/tst-timer.c: Likewise. * stdio-common/test-fseek.c: Likewise. * stdio-common/test-popen.c: Likewise. * stdio-common/test-vfprintf.c: Likewise. * stdio-common/tst-cookie.c: Likewise. * stdio-common/tst-fileno.c: Likewise. * stdio-common/tst-gets.c: Likewise. * stdio-common/tst-obprintf.c: Likewise. * stdio-common/tst-perror.c: Likewise. * stdio-common/tst-sprintf2.c: Likewise. * stdio-common/tst-sprintf3.c: Likewise. * stdio-common/tst-sprintf.c: Likewise. * stdio-common/tst-swprintf.c: Likewise. * stdio-common/tst-tmpnam.c: Likewise. * stdio-common/tst-unbputc.c: Likewise. * stdio-common/tst-wc-printf.c: Likewise. * stdlib/tst-environ.c: Likewise. * stdlib/tst-fmtmsg.c: Likewise. * stdlib/tst-limits.c: Likewise. * stdlib/tst-rand48-2.c: Likewise. * stdlib/tst-rand48.c: Likewise. * stdlib/tst-random2.c: Likewise. * stdlib/tst-random.c: Likewise. * stdlib/tst-strtol.c: Likewise. * stdlib/tst-strtoll.c: Likewise. * stdlib/tst-tls-atexit.c: Likewise. * stdlib/tst-xpg-basename.c: Likewise. * string/test-ffs.c: Likewise. * string/tst-bswap.c: Likewise. * string/tst-inlcall.c: Likewise. * string/tst-strtok.c: Likewise. * string/tst-strxfrm.c: Likewise. * sysdeps/x86_64/tst-audit10.c: Likewise. * sysdeps/x86_64/tst-audit3.c: Likewise. * sysdeps/x86_64/tst-audit4.c: Likewise. * sysdeps/x86_64/tst-audit5.c: Likewise. * time/tst-ftime_l.c: Likewise. * time/tst-getdate.c: Likewise. * time/tst-mktime3.c: Likewise. * time/tst-mktime.c: Likewise. * time/tst-posixtz.c: Likewise. * time/tst-strptime2.c: Likewise. * time/tst-strptime3.c: Likewise. * wcsmbs/tst-btowc.c: Likewise. * wcsmbs/tst-mbrtowc.c: Likewise. * wcsmbs/tst-mbsrtowcs.c: Likewise. * wcsmbs/tst-wchar-h.c: Likewise. * wcsmbs/tst-wcpncpy.c: Likewise. * wcsmbs/tst-wcrtomb.c: Likewise. * wcsmbs/tst-wcsnlen.c: Likewise. * wcsmbs/tst-wcstof.c: Likewise.
2014-09-12Complete the removal of __gconv_translit_findFlorian Weimer9-9/+0
Prior to the 2.20 release, the function was just changed to fail unconditionally, in commit a1a6a401ab0a3c9f15fb7eaebbdcee24192254e8. This commit removes the function completely, including gconv bits which depend on it. This changes the gconv ABI, which is not a public interface.
2014-06-04Include LOCPATH in default test environment.Joseph Myers1-7/+0
Tests run using the default $(make-test-out) automatically get GCONV_PATH and LC_ALL set, whether or not those environment variables are actually needed for the individual test. However, they do not get LOCPATH set, meaning that a large number of tests have -ENV settings just to set LOCPATH. This patch moves LOCPATH into the default environment used for all tests, on the principle that like GCONV_PATH any settings needed to use files associated with the newly built library, rather than any old installed files, are appropriate to use by default. A further motivation is that various tests using .sh files also set some combination of LC_ALL, GCONV_PATH and LOCPATH. Preferably .sh files should also use the default environment with any additions required for the individual test. Now, it was suggested in <https://sourceware.org/ml/libc-alpha/2014-05/msg00715.html> that various Makefile variables used in testing should be derived by composing the -before-env and -after-env variables used when explicit environment settings are required. With such a change, it's also natural for those variables to include the default settings (via some intermediate makefile variable also used in make-test-out). Because some .sh files only set variables that correspond to the default settings, or a subset thereof, and this applies to more of the .sh files once LOCPATH is in the default settings, doing so reduces the size of a revised version of <https://sourceware.org/ml/libc-alpha/2014-05/msg00596.html>: scripts only needing the (expanded) default settings will not need to receive the separate -before-env and -after-env variables, only the single variable they do at present. So moving LOCPATH into the default settings can reduce churn caused by subsequent patches. Tested x86_64 and x86. * Rules (make-test-out): Include LOCPATH=$(common-objpfx)localedata in default environment. * debug/Makefile (tst-chk1-ENV): Remove variable. (tst-chk2-ENV): Likewise. (tst-chk3-ENV): Likewise. (tst-chk4-ENV): Likewise. (tst-chk5-ENV): Likewise. (tst-chk6-ENV): Likewise. (tst-lfschk1-ENV): Likewise. (tst-lfschk2-ENV): Likewise. (tst-lfschk3-ENV): Likewise. (tst-lfschk4-ENV): Likewise. (tst-lfschk5-ENV): Likewise. (tst-lfschk6-ENV): Likewise. * iconvdata/Makefile (bug-iconv6-ENV): Likewise. (tst-iconv7-ENV): Likewise. * intl/Makefile (LOCPATH-ENV): Likewise. (tst-codeset-ENV): Likewise. (tst-gettext3-ENV): Likewise. (tst-gettext5-ENV): Likewise. * libio/Makefile (tst-widetext-ENV): Don't set LOCPATH. (tst-fopenloc-ENV): Likewise. (tst-fgetws-ENV): Remove variable. (tst-ungetwc1-ENV): Likewise. (tst-ungetwc2-ENV): Likewise. (bug-ungetwc2-ENV): Likewise. (tst-swscanf-ENV): Likewise. (bug-ftell-ENV): Likewise. (tst-fgetwc-ENV): Likewise. (tst-fseek-ENV): Likewise. (tst-ftell-partial-wide-ENV): Likewise. (tst-ftell-active-handler-ENV): Likewise. (tst-ftell-append-ENV): Likewise. * posix/Makefile (tst-fnmatch-ENV): Likewise. (tst-regexloc-ENV): Likewise. (bug-regex1-ENV): Likewise. (tst-regex-ENV): Likewise. (tst-regex2-ENV): Likewise. (bug-regex5-ENV): Likewise. (bug-regex6-ENV): Likewise. (bug-regex17-ENV): Likewise. (bug-regex18-ENV): Likewise. (bug-regex19-ENV): Likewise. (bug-regex20-ENV): Likewise. (bug-regex22-ENV): Likewise. (bug-regex23-ENV): Likewise. (bug-regex25-ENV): Likewise. (bug-regex26-ENV): Likewise. (bug-regex30-ENV): Likewise. (bug-regex32-ENV): Likewise. (bug-regex33-ENV): Likewise. (bug-regex34-ENV): Likewise. (bug-regex35-ENV): Likewise. (tst-rxspencer-ENV): Likewise. (tst-rxspencer-no-utf8-ENV): Likewise. * stdio-common/Makefile (tst-sprintf-ENV): Likewise. (tst-sscanf-ENV): Likewise. (tst-swprintf-ENV): Likewise. (tst-swscanf-ENV): Likewise. (test-vfprintf-ENV): Likewise. (scanf13-ENV): Likewise. (bug14-ENV): Likewise. (tst-grouping-ENV): Likewise. * stdlib/Makefile (tst-strtod-ENV): Likewise. (tst-strtod3-ENV): Likewise. (tst-strtod4-ENV): Likewise. (tst-strtod5-ENV): Likewise. (testmb2-ENV): Likewise./ * string/Makefile (tst-strxfrm-ENV): Likewise. (tst-strxfrm2-ENV): Likewise. (bug-strcoll1-ENV): Likewise. (test-strcasecmp-ENV): Likewise. (test-strncasecmp-ENV): Likewise. * time/Makefile (tst-strptime-ENV): Likewise. (tst-ftime_l-ENV): Likewise. * wcsmbs/Makefile (tst-btowc-ENV): Likewise. (tst-mbrtowc-ENV): Likewise. (tst-wcrtomb-ENV): Likewise. (tst-mbrtowc2-ENV): Likewise. (tst-c16c32-1-ENV): Likewise. (tst-mbsnrtowcs-ENV): Likewise. localedata/ChangeLog: * Makefile (TEST_MBWC_ENV): Remove variable. (tst_iswalnum-ENV): Likewise. (tst_iswalpha-ENV): Likewise. (tst_iswcntrl-ENV): Likewise. (tst_iswctype-ENV): Likewise. (tst_iswdigit-ENV): Likewise. (tst_iswgraph-ENV): Likewise. (tst_iswlower-ENV): Likewise. (tst_iswprint-ENV): Likewise. (tst_iswpunct-ENV): Likewise. (tst_iswspace-ENV): Likewise. (tst_iswupper-ENV): Likewise. (tst_iswxdigit-ENV): Likewise. (tst_mblen-ENV): Likewise. (tst_mbrlen-ENV): Likewise. (tst_mbrtowc-ENV): Likewise. (tst_mbsrtowcs-ENV): Likewise. (tst_mbstowcs-ENV): Likewise. (tst_mbtowc-ENV): Likewise. (tst_strcoll-ENV): Likewise. (tst_strfmon-ENV): Likewise. (tst_strxfrm-ENV): Likewise. (tst_swscanf-ENV): Likewise. (tst_towctrans-ENV): Likewise. (tst_towlower-ENV): Likewise. (tst_towupper-ENV): Likewise. (tst_wcrtomb-ENV): Likewise. (tst_wcscat-ENV): Likewise. (tst_wcschr-ENV): Likewise. (tst_wcscmp-ENV): Likewise. (tst_wcscoll-ENV): Likewise. (tst_wcscpy-ENV): Likewise. (tst_wcscspn-ENV): Likewise. (tst_wcslen-ENV): Likewise. (tst_wcsncat-ENV): Likewise. (tst_wcsncmp-ENV): Likewise. (tst_wcsncpy-ENV): Likewise. (tst_wcspbrk-ENV): Likewise. (tst_wcsrtombs-ENV): Likewise. (tst_wcsspn-ENV): Likewise. (tst_wcsstr-ENV): Likewise. (tst_wcstod-ENV): Likewise. (tst_wcstok-ENV): Likewise. (tst_wcstombs-ENV): Likewise. (tst_wcswidth-ENV): Likewise. (tst_wcsxfrm-ENV): Likewise. (tst_wctob-ENV): Likewise. (tst_wctomb-ENV): Likewise. (tst_wctrans-ENV): Likewise. (tst_wctype-ENV): Likewise. (tst_wcwidth-ENV): Likewise. (tst-digits-ENV): Likewise. (tst-mbswcs6-ENV): Likewise. (tst-xlocale1-ENV): Likewise. (tst-xlocale2-ENV): Likewise. (tst-strfmon1-ENV): Likewise. (tst-strptime-ENV): Likewise. (tst-setlocale-ENV): Don't set LOCPATH. (bug-iconv-trans-ENV): Remove variable. (tst-sscanf-ENV): Likewise. (tst-leaks-ENV): Don't set LOCPATH. (bug-setlocale1-ENV): Remove variable. (bug-setlocale1-static-ENV): Likewise. (tst-setlocale2-ENV): Likewise.
2014-02-26Consistently include Makeconfig after defining subdir.Joseph Myers1-0/+2
In <https://sourceware.org/ml/libc-alpha/2014-01/msg00196.html> I noted it was necessary to add includes of Makeconfig early in various subdirectory makefiles for the tests-special variable settings added by that patch to be conditional on configuration information. No-one commented on the general question there of whether Makeconfig should always be included immediately after the definition of subdir. This patch implements that early inclusion of Makeconfig in each directory (which is a lot easier than consistent placement of includes of Rules). Includes are added if needed, or moved up if already present. Subdirectory "all:" targets are removed, since Makeconfig provides one. There is potential for further cleanups I haven't done. Rules and Makerules have code such as ifneq "$(findstring env,$(origin headers))" "" headers := endif to override to empty any value of various variables that came from the environment. I think there is a case for Makeconfig setting all the subdirectory variables (other than subdir) to empty to ensure no outside value is going to take effect if a subdirectory fails to define a variable. (A list of such variables, possibly out of date and incomplete, is in manual/maint.texi.) Rules and Makerules would give errors if Makeconfig hadn't already been included, instead of including it themselves. The special code to override values coming from the environment would then be obsolete and could be removed. Tested x86_64, including that installed binaries are identical before and after the patch. * argp/Makefile: Include Makeconfig immediately after defining subdir. * assert/Makefile: Likewise. * benchtests/Makefile: Likewise. * catgets/Makefile: Likewise. * conform/Makefile: Likewise. * crypt/Makefile: Likewise. * csu/Makefile: Likewise. (all): Remove target. * ctype/Makefile: Include Makeconfig immediately after defining subdir. * debug/Makefile: Likewise. * dirent/Makefile: Likewise. * dlfcn/Makefile: Likewise. * gmon/Makefile: Likewise. * gnulib/Makefile: Likewise. * grp/Makefile: Likewise. * gshadow/Makefile: Likewise. * hesiod/Makefile: Likewise. * hurd/Makefile: Likewise. (all): Remove target. * iconvdata/Makefile: Include Makeconfig immediately after defining subdir. * inet/Makefile: Likewise. * intl/Makefile: Likewise. * io/Makefile: Likewise. * libio/Makefile: Likewise. (all): Remove target. * locale/Makefile: Include Makeconfig immediately after defining subdir. * login/Makefile: Likewise. * mach/Makefile: Likewise. (all): Remove target. * malloc/Makefile: Include Makeconfig immediately after defining subdir. (all): Remove target. * manual/Makefile: Include Makeconfig immediately after defining subdir. * math/Makefile: Likewise. * misc/Makefile: Likewise. * nis/Makefile: Likewise. * nss/Makefile: Likewise. * po/Makefile: Likewise. (all): Remove target. * posix/Makefile: Include Makeconfig immediately after defining subdir. * pwd/Makefile: Likewise. * resolv/Makefile: Likewise. * resource/Makefile: Likewise. * rt/Makefile: Likewise. * setjmp/Makefile: Likewise. * shadow/Makefile: Likewise. * signal/Makefile: Likewise. * socket/Makefile: Likewise. * soft-fp/Makefile: Likewise. * stdio-common/Makefile: Likewise. * stdlib/Makefile: Likewise. * streams/Makefile: Likewise. * string/Makefile: Likewise. * sunrpc/Makefile: Likewise. (all): Remove target. * sysvipc/Makefile: Include Makeconfig immediately after defining subdir. * termios/Makefile: Likewise. * time/Makefile: Likewise. * timezone/Makefile: Likewise. (all): Remove target. * wcsmbs/Makefile: Include Makeconfig immediately after defining subdir. * wctype/Makefile: Likewise. libidn/ChangeLog: * Makefile: Include Makeconfig immediately after defining subdir. localedata/ChangeLog: * Makefile: Include Makeconfig immediately after defining subdir. (all): Remove target. nptl/ChangeLog: * Makefile: Include Makeconfig immediately after defining subdir. nptl_db/ChangeLog: * Makefile: Include Makeconfig immediately after defining subdir.
2014-02-10Use glibc_likely instead __builtin_expect.Ondřej Bílka4-5/+5
2014-01-01Update copyright notices with scripts/update-copyrightsAllan McRae88-88/+88
2013-12-06PowerPC: multiarch wcscpy for PowerPC32Adhemerval Zanella1-1/+5
2013-12-06PowerPC: multiarch wcsrchr for PowerPC32Adhemerval Zanella1-1/+4
2013-06-07Avoid use of "register" as optimization hint.Joseph Myers11-23/+23
2013-05-16Add #include <stdint.h> for uint[32|64]_t usage (except installed headers).Ryan S. Arnold1-1/+1
2013-02-17Sort Versions filesAndreas Jaeger1-4/+4
2013-01-10Remove __GNUC__ conditions for "long long" from string.h and wchar.h.Joseph Myers1-4/+4
2013-01-02Update copyright notices with scripts/update-copyrights.Joseph Myers88-93/+88
2013-01-01Add script to update copyright notices and reformat some to facilitate its use.Joseph Myers1-2/+1
2012-10-19Add wcsmbs IFUNC testsH.J. Lu7-0/+122
2012-08-17Clean up definition of _LIBC_REENTRANT and _IO_MTSAFE_IO.Roland McGrath1-3/+2
2012-05-31tests: move -D_FORTIFY_SOURCE to CPPFLAGSMike Frysinger1-1/+1
The -D_FORTIFY_SOURCE flags are being added to the test-specific CFLAGS values when they should be the test-specific CPPFLAGS values. Otherwise the values don't override the user-specified CPPFLAGS and might end up breaking the tests. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-05-21[BZ #13691], Revert breakage of iconv() converter for TCVN-5712.Andreas Jaeger2-85/+1
* iconvdata/tcvn5712-1.c (BODY for FROM_LOOP): Don't consider inptr and inend for must_buffer_ch. * wcsmbs/tst-mbsnrtowcs.c: Remove file. * wcsmbs/Makefile (tests): Remove tst-mbsnrtowcs. * stdio-common/Makefile (tests): Remove bug15. (bug15-ENV): Remove macro. * stdio-common/bug15.c: Remove, we do not support vi_VN.TCVN5712-1 anymore. localedata: * SUPPORTED: Remove vi_VN.TCVN/TCVN5712-1. * tst-strptime.c: Remove, we do not support vi_VN.TCVN5712-1 anymore. * Makefile (LOCALES): Remove vi_VN.TCVN5712-1 from list. (tests): Remove tst-strptime.
2012-04-29Fix attributes for fortify functions.Marek Polacek3-28/+28
2012-03-30Fix a bug when converting strings with 1 character using TCVN5712-1Tulio Magno Quites Machado Filho2-1/+85
It isn't necessary to buffer the last character of strings. This can cause a bug with strings that have 1 character between 0x0041 and 0x01b0. [BZ #13691] * iconvdata/tcvn5712-1.c (FROM_LOOP): Fix a bug when converting strings with only 1 character between 0x0041 and 0x01b0. * wcsmbs/Makefile (tests): Add tst-mbsnrtowcs. * wcsmbs/tst-mbsnrtowcs.c: New file.
2012-03-07Remove distribute variable from MakefilesUlrich Drepper1-1/+0
2012-02-09Replace FSF snail mail address with URLs.Paul Eggert82-246/+164
2012-01-24Use newly built locales for tst-c16c32-1.Joseph Myers1-0/+1
2012-01-21Fix version check in uchar.hUlrich Drepper1-1/+1
2012-01-08Simplify char16_t implementationUlrich Drepper5-228/+43
2012-01-07Remove pre-ISO C supportUlrich Drepper3-174/+174
No more __const.
2012-01-07More char16_t and char32_t supportUlrich Drepper6-53/+241
It works now for UTF-8 locales
2012-01-06Fix C11 header changes for C++.Joseph Myers1-2/+2
2012-01-03Typo in test for C11-capable compilerUlrich Drepper2-4/+4
2012-01-01Add uchar.h support, part 1Ulrich Drepper10-13/+363
c16 support for locales other than the C locale is still missing.