about summary refs log tree commit diff
path: root/string
Commit message (Collapse)AuthorAgeFilesLines
* * string/Makefile (strop-tests): Add memmem.Ulrich Drepper2008-05-253-5/+194
| | | | | | | | | | * string/test-memmem.c: New file. * string/test-string.h (BUF1PAGES): Define to 1 if undefined. (test_init): Size buf1 according to BUF1PAGES. * stdio-common/scanf16.c: New file. * stdio-common/scanf17.c: New file. * scripts/data/localplt-sparc64-linux-gnu.data: New file.
* * string/endian.h: Define new fixed-size hto* and *toh macros onlyUlrich Drepper2008-05-211-32/+34
| | | | is __USE_BSD.
* * string/strcasestr.c (CMP_FUNC): Use __strncasecmp, not strncasecmp. cvs/fedora-glibc-20080516T2152Ulrich Drepper2008-05-161-1/+1
|
* * string/Makefile (distribute): Add str-two-way.h. cvs/fedora-glibc-20080515T0735Ulrich Drepper2008-05-155-206/+579
| | | | | | | | | | | | | 2008-03-29 Eric Blake <ebb9@byu.net> Rewrite string searches to O(n) rather than O(n^2). * string/str-two-way.h: New file. For linear fixed-allocation string searching. * string/memmem.c: New implementation. * string/strstr.c: New implementation. * string/strcasestr.c: New implementation. * sysdeps/posix/getaddrinfo.c (getaddrinfo): Call _res_hconf_init
* [BZ #6442]Ulrich Drepper2008-05-153-3/+151
| | | | | | | | | | | * string/endian.h: Add macros for fixed-size endian conversion. * bits/byteswap.h: Allow inclusion from <endian.h>. * sysdeps/i386/bits/byteswap.h: Likewise. * sysdeps/ia64/bits/byteswap.h: Likewise. * sysdeps/s390/bits/byteswap.h: Likewise. * sysdeps/x86_64/bits/byteswap.h: Likewise. * string/Makefile (tests): Add tst-endian. * string/tst-endian.c: New file.
* * string/tester.c (test_memcmp): Add a few more tests.Ulrich Drepper2008-05-111-8/+26
| | | | Patch by Mats Erik Andersson <ynglingatal@comhem.se>.
* [BZ #6007]Ulrich Drepper2008-03-311-12/+12
| | | | | | 2008-03-31 Ulrich Drepper <drepper@redhat.com> [BZ #6007] * string/strfry.c: Handle empty strings again.
* [BZ #5614]Ulrich Drepper2008-01-152-8/+11
| | | | | | | | | 2008-01-15 Ulrich Drepper <drepper@redhat.com> [BZ #5614] * string/bits/string2.h (__strtok_r_1c): Always update *__NEXTP. (__strtok_r): Simplify. * string/tester.c (test_strtok_r): Add test case for futile search with single-character seach string.
* [BZ #5113]Ulrich Drepper2007-10-051-2/+2
| | | | | | | * string/bits/string2.h (__strdup): Cast parameters to calloc to avoid warning with -Wconversion. (__strndup): Likewise. Patch to 50% by Christian Iseli <christian.iseli@licr.org>.
* * string/bits/string3.h (memcpy, memmove, mempcpy, memset, bcopy, cvs/fedora-glibc-20071003T1908Ulrich Drepper2007-10-031-127/+3
| | | | | bzero, strcpy, stpcpy, strncpy, strcat, strncat): Use __extern_always_inline functions unconditionally, drop macros.
* * de_DE.in: Adjust for correct handling of backward direction sorting.Ulrich Drepper2007-10-021-6/+18
|
* [BZ #4963]Ulrich Drepper2007-09-231-129/+193
| | | | | | | * wcsmbs/wcsnlen.c: Don't reference before checking the length. * string/stratcliff.c: Make usable to test wide char functions. * wcsmbs/wcsatcliff.c: New file. * wcsmbs/Makefiel (tests): Add wcsatcliff.
* * misc/sys/cdefs.h (__va_arg_pack): Define for GCC 4.3+.Ulrich Drepper2007-09-152-33/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * misc/bits/syslog.h (syslog): When __va_arg_pack is defined, implement as __extern_always_inline function. (vsyslog): Define as __extern_always_inline function unconditionally. * libio/bits/stdio2.h (sprintf, snprintf, printf, fprintf): When __va_arg_pack is defined, implement as __extern_always_inline functions. (vsprintf, vsnprintf, vprintf, vfprintf): Define as __extern_always_inline functions unconditionally. * libio/bits/stdio.h (vprintf): Ifdef out the inline when bits/stdio2.h will be included. * wcsmbs/bits/wchar2.h (__swprintf_alias): New redirect. (swprintf, wprintf, fwprintf): When __va_arg_pack is defined, implement as __extern_always_inline functions. (vswprintf, vwprintf, vfwprintf): Define as __extern_always_inline functions unconditionally. * debug/tst-chk1.c (do_test): Enable remaining tests for C++. 2007-09-03 Jakub Jelinek <jakub@redhat.com> * misc/sys/cdefs.h (__extern_inline, __extern_always_inline): Only define in C++ for GCC 4.3+, in C++ always use __gnu_inline__ attribute. * include/features.h (__USE_EXTERN_INLINES): Define only when __extern_inline is defined. * stdlib/stdlib.h: Include bits/stdlib.h when __extern_always_inline is defined instead of when not __cplusplus. * misc/sys/syslog.h: Include bits/syslog.h when __extern_always_inline is defined instead of when not __cplusplus. * socket/sys/socket.h: Include bits/socket2.h when __extern_always_inline is defined instead of when not __cplusplus. * libio/stdio.h: Include bits/stdio2.h when __extern_always_inline is defined instead of when not __cplusplus. * posix/unistd.h: Include bits/unistd.h when __extern_always_inline is defined instead of when not __cplusplus. * string/string.h: Include bits/string3.h when __extern_always_inline is defined instead of when not __cplusplus. * wcsmbs/wchar.h: Include bits/wchar2.h when __extern_always_inline is defined instead of when not __cplusplus. (btowc, wctob): Don't guard the inlines with ifndef __cplusplus. * io/fcntl.h: Don't include bits/fcntl2.h if __extern_always_inline is not defined. * misc/bits/syslog-ldbl.h: Guard *_chk stuff with defined __extern_always_inline instead of !defined __cplusplus. * libio/bits/stdio-ldbl.h: Likewise. * wcsmbs/bits/wchar-ldbl.h: Likewise. * misc/bits/syslog.h (syslog): Don't define for C++. (vsyslog): Use __extern_always_inline function for C++ instead of a macro. * libio/bits/stdio.h (__STDIO_INLINE): Define to __extern_inline whenever that macro is defined. (vprintf): Don't provide the inline for C++. (fread_unlocked, fwrite_unlocked): Don't define the macros for C++. * libio/bits/stdio2.h (sprintf, snprintf, printf, fprintf): Don't define the macros for C++. (vsprintf, vsnprintf, vprintf, vfprintf): Define as __extern_always_inline functions for C++. * io/sys/stat.h (stat, lstat, fstat, fstatat, mknod, mknodat, stat64, lstat64, fstat64, fstatat64): Don't define if not __USE_EXTERN_INLINES. * wcsmbs/bits/wchar2.h: Fix #error message. (swprintf, wprintf, fwprintf): Don't define the macros for C++. (vswprintf, vwprintf, vfwprintf): Define using __extern_always_inline functions for C++. * string/bits/string3.h: Don't #undef macros if __cplusplus. (memcpy, memmove, mempcpy, memset, bcopy, bzero, strcpy, stpcpy, strncpy, strcat, strncat): Define as __extern_always_inline functions instead of macros for C++. * math/bits/cmathcalls.h: Guard __extern_inline routines with defined __extern_inline. * sysdeps/alpha/fpu/bits/mathinline.h (__MATH_INLINE): Define to __extern_inline whenever that macro is defined. * sysdeps/ia64/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/i386/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/i386/i486/bits/string.h (__STRING_INLINE): Likewise. * sysdeps/s390/bits/string.h (__STRING_INLINE): Likewise. * sysdeps/s390/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/powerpc/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/x86_64/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/sparc/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/unix/sysv/linux/sys/sysmacros.h (gnu_dev_major, gnu_dev_minor, gnu_dev_makedev): Remove __extern_inline from prototypes. Only provide __extern_inline routines if __USE_EXTERN_INLINES. * debug/Makefile: Add rules to build and run tst-{,lfs}chk{4,5,6} tests. * debug/tst-chk1.c (do_prepare, do_test): Allow compilation as C++. For now avoid some *printf tests in C++. Skip all testing if __USE_FORTIFY_LEVEL is defined, but __extern_always_inline macro is not. * debug/tst-chk4.cc: New file. * debug/tst-chk5.cc: New file. * debug/tst-chk6.cc: New file. * debug/tst-lfschk4.cc: New file. * debug/tst-lfschk5.cc: New file. * debug/tst-lfschk6.cc: New file. * include/wchar.h (__vfwprintf_chk, __vswprintf_chk): Avoid prototypes in C++. * include/stdio.h (__sprintf_chk, __snprintf_chk, __vsprintf_chk, __vsnprintf_chk, __printf_chk, __fprintf_chk, __vprintf_chk, __vfprintf_chk, __fgets_unlocked_chk, __fgets_chk): Likewise.
* * nis/nis_table.c (nis_list): Don't fail if __follow_path returnedUlrich Drepper2007-08-221-1/+1
| | | | NIS_NOTFOUND.
* [BZ #4582]Ulrich Drepper2007-08-221-2/+3
| | | | * debug/segfault.c: Fix typos in comments.
* (strfry): Make result more random.Ulrich Drepper2007-05-081-6/+4
|
* * elf/dl-open.c (dl_open_worker): Declare l in 2 different cvs/fedora-glibc-20070317T2130Ulrich Drepper2007-03-171-0/+1
| | | | | | | | | | | | | | | | | smaller scopes. * elf/dl-dst.h (DL_DST_REQ_STATIC): Add l as macro argument. (DL_DST_REQUIRED): Adjust user. * include/dlfcn.h (struct link_map): New forward decl. * inet/getnameinfo.c: Include stddef.h. (getnameinfo): Use offsetof. * time/tst-mktime2.c (do_test): Don't rely on signed wrap. * stdio-common/vfprintf.c (_itoa): Undef before redefining. * string/strerror_l.c: Include stdlib.h.
* * configure.in (libc_cv_gnu89_inline): Test for -fgnu89-inline.Ulrich Drepper2007-03-173-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config.make.in (gnu89-inline-CFLAGS): New variable. * Makeconfig (CFLAGS): Use $(gnu89-inline-CFLAGS) together with -std=gnu99. * misc/sys/cdefs.h (__extern_inline, __extern_always_inline): Define. * argp/argp.h: Use it. * bits/mathinline.h: Likewise. * bits/sigset.h: Likewise. * bits/string.h: Likewise. * ctype/ctype.h: Likewise. * hurd/hurd.h: Likewise. * hurd/hurd/fd.h: Likewise. * hurd/hurd/port.h: Likewise. * hurd/hurd/signal.h: Likewise. * hurd/hurd/threadvar.h: Likewise. * hurd/hurd/userlink.h: Likewise. * io/sys/stat.h: Likewise. * libio/bits/stdio.h: Likewise. * libio/bits/stdio2.h: Likewise. * mach/lock-intern.h: Likewise. * mach/mach/mig_support.h: Likewise. * math/bits/cmathcalls.h: Likewise. * posix/bits/unistd.h: Likewise. * socket/bits/socket2.h: Likewise. * stdlib/bits/stdlib.h: Likewise. * stdlib/stdlib.h: Likewise. * string/argz.h: Likewise. * string/bits/string2.h: Likewise. * string/bits/string3.h: Likewise. * sysdeps/alpha/fpu/bits/mathinline.h: Likewise. * sysdeps/generic/inttypes.h: Likewise. * sysdeps/generic/machine-lock.h: Likewise. * sysdeps/generic/machine-sp.h: Likewise. * sysdeps/i386/fpu/bits/mathinline.h: Likewise. * sysdeps/i386/i486/bits/string.h: Likewise. * sysdeps/ia64/fpu/bits/mathinline.h: Likewise. * sysdeps/mach/alpha/machine-lock.h: Likewise. * sysdeps/mach/alpha/machine-sp.h: Likewise. * sysdeps/mach/i386/machine-lock.h: Likewise. * sysdeps/mach/powerpc/machine-lock.h: Likewise. * sysdeps/mach/powerpc/machine-sp.h: Likewise. * sysdeps/powerpc/fpu/bits/mathinline.h: Likewise. * sysdeps/s390/bits/string.h: Likewise. * sysdeps/s390/fpu/bits/mathinline.h: Likewise. * sysdeps/sparc/fpu/bits/mathinline.h: Likewise. * sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise. * sysdeps/unix/sysv/linux/bits/sigset.h: Likewise. * sysdeps/unix/sysv/linux/bits/socket.h: Likewise. * sysdeps/unix/sysv/linux/sys/sysmacros.h: Likewise. * sysdeps/x86_64/fpu/bits/mathinline.h: Likewise. * wcsmbs/bits/wchar2.h: Likewise. * wcsmbs/wchar.h: Likewise. * stdlib/gmp.h: Likewise. Include <features.h> to get __extern_inline definition. * locale/programs/ld-ctype.c (find_translit): Return NULL if ctype is NULL.
* * sysdeps/unix/sysv/linux/i386/sysdep.h (PTR_MANGLE): Roll value before cvs/fedora-glibc-20070202T0923Ulrich Drepper2007-02-014-2/+82
| | | | | | | | | | | | | | returning. (PTR_DEMANGLE): Real definition now that it's not the same as PRT_MANGLE anymore. * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. * string/strerror_l.c: New file. * string/Makefile (routines): Add strerror_l. * string/string.h: Declare strerror_l. * string/Versions: Export strerror_l for GLIBC_2.6. * nscd/connections.c (nscd_run): Don't define MAXKEYLEN here.
* * posix/execvp.c: Include alloca.h.Ulrich Drepper2007-01-031-1/+2
| | | | | | | | | | | | | | (allocate_scripts_argv): Renamed to... (scripts_argv): ... this. Don't allocate buffer here nor count arguments. (execvp): Use alloca if possible. * posix/Makefile: Add rules to build and run tst-vfork3 test. * posix/tst-vfork3.c: New test. 2007-01-03 Ulrich Drepper <drepper@redhat.com> * string/Makefile (tst-strxfrm2-ENV): Define. * stdlib/Makefile (tst-strtod3-ENV): Define.
* * string/strxfrm_l.c (STRXFRM): Fix trailing \1 optimizationUlrich Drepper2006-11-102-6/+46
| | | | | | | | if N is one bigger than return value. * string/tst-strxfrm2.c (do_test): Also test strxfrm with l1 + 1 and l1 last arguments, if buf is defined, verify the return value equals to strlen (buf) and verify no byte beyond passed length is modified.
* * string/Makefile (tests): Add tst-strxfrm2.Ulrich Drepper2006-11-093-5/+51
| | | | | | | * string/tst-strxfrm2.c: New file. * string/strxfrm_l.c (STRXFRM): Do the trailing \1 removal optimization even if needed > n.
* [BZ #2751] cvs/fedora-glibc-20060822T0706Ulrich Drepper2006-08-221-3/+4
| | | | | | 2006-05-15 Mike Frysinger <vapier@gentoo.org> [BZ #2751] * string/strchr.c: Add cast to avoid warning.
* * intl/dcigettext.c (DCIGETTEXT): If _nl_find_msg returns -1 don'tUlrich Drepper2006-06-221-3/+4
| | | | | | | | | | | look further, return original strings. (_nl_find_msg): Do not return found translation if the conversion failed. Either signal the string is unusable or that something went wrong and the original should be used. 2006-06-21 Ulrich Drepper <drepper@redhat.com> * string/_strerror.c (__strerror_r): Add __builtin_expect.
* * string/Makefile (tests): Add bug-envz1.Ulrich Drepper2006-06-042-1/+78
| | | | * string/bug-enz1.c: New file.
* [BZ #2703]Ulrich Drepper2006-06-041-2/+2
| | | | | | | 2006-06-02 Ryan S. Arnold <rsa@us.ibm.com> [BZ #2703] * string/envz.c (envz_strip): Correct erroneously reversed src and dest parameters to memmove() invocation.
* * io/ftw.c (open_dir_stream): Return right away if REALLOC fails.Ulrich Drepper2006-05-101-3/+2
| | | | | | | | | | | | | | | [Coverity CID 229, 230] * argp/argp-help.c (hol_entry_help): Handle STATE==NULL in ARG and DGETTEXT calls. (hol_help): Likewise. [Coverity CID 226, 227] * string/argz-replace.c (__argz_replace): Unconditionally call free on SRC. [Coverity CID 225] * nis/nis_creategroup.c (nis_creategroup): No need to duplicate the return value of __nis_default_owner and __nis_default_group, it has been especially allocated. [Coverity CID 224]
* [BZ #2508]Roland McGrath2006-04-041-0/+2
| | | | | | | | | | | | | | | | 2006-04-04 Roland McGrath <roland@redhat.com> * string/Makefile (CFLAGS-inl-tester.c): New variable. (CFLAGS-tst-inlcall.c): Likewise. [BZ #2508] * nscd/Makefile ($(objpfx)nscd_stat.o: sysincludes): Move setting inside [$(have-selinux) = yes]. ($(objpfx)selinux.o: sysincludes): Likewise. * iconvdata/Makefile (generate-8bit-table): Use LC_ALL=C. (generate-8bit-gap-table): Likewise. ($(objpfx)iso8859-7jp.stmp): Likewise. Reported by S.Çağlar Onur <caglar@uludag.org.tr>.
* * string/tester.c (test_strnlen): New function.Roland McGrath2006-02-201-0/+31
| | | | | | (test_strchr): Call it. (test_strncat): Test lengths where the sign bit is set. (test_strncmp): Likewise.
* [BZ #2126]Ulrich Drepper2006-01-102-2/+47
| | | | | | | | | * sysdeps/i386/i686/strtok.S: Store pointer to NUL byte if NULL is returned. * sysdeps/i386/strtok.S: Likewise. * sysdeps/x86_64/strtok.S: Likewise. * string/Makefile (tests): Add bug-strtok1. * string/bug-strtok1.c: New file.
* * posix/tst-execle1.c (do_test): Add a const.Roland McGrath2005-12-2714-71/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * posix/tst-execle2.c (do_test): Likewise. * posix/transbug.c (run_test): Add some casts. * posix/bug-regex22.c (main): Likewise. * posix/bug-regex5.c (main): Likewise. * wcsmbs/tst-mbsrtowcs.c (main): Likewise. * string/test-strspn.c (do_test, do_random_tests): Likewise. * string/test-strrchr.c (do_test, do_random_tests): Likewise. * string/test-strlen.c (do_random_tests): Likewise. * string/test-strpbrk.c (do_test, do_random_tests): Likewise. * string/test-strcmp.c (do_random_tests): Likewise. * string/test-strchr.c (do_test, do_random_tests): Likewise. * string/test-strcat.c (do_test, do_random_tests): Likewise. * string/test-strncpy.c (do_random_tests): Likewise. * string/test-strcpy.c (do_test, do_random_tests): Likewise. * string/test-memccpy.c (do_test): Likewise. * string/test-memmove.c (do_test, do_random_tests): Likewise. * string/test-memcpy.c (do_test, do_random_tests): Likewise. * string/test-memcmp.c (do_test, do_random_tests): Likewise. * string/test-memchr.c (do_test, do_random_tests): Likewise. * dlfcn/bug-atexit1.c (do_test): Fix up prototype in cast. * stdio-common/tst-fgets.c (do_test): Add a cast. * iconvdata/bug-iconv4.c (xiconv): Add a cast. * locale/programs/simple-hash.c (insert_entry_2): Remove useless casts. * resolv/herror.c (herror): Remove unused extern decl. * libio/obprintf.c: Include "strfile.h". * elf/order2mod2.c (init): Cast ignored value to void. * stdio-common/tstdiomisc.c: If FLT_EVAL_METHOD is 2, use long
* Moved to csu/errno-loc.c.Ulrich Drepper2005-12-1440-0/+4133
|
* 2005-12-13 Ulrich Drepper <drepper@redhat.com>Ulrich Drepper2005-12-143-0/+179
|
* [BZ #1877]Ulrich Drepper2005-11-181-8/+33
| | | | | | | | | | | | | | | | | | | | 2005-11-17 Steven Munroe <sjmunroe@us.ibm.com> [BZ #1877] * string/test-strncmp.c (do_test_limit): Handle zero length and non-zero align values. (test_main): Correct do_test_limit tests for 64-bit. 2005-11-15 Steven Munroe <sjmunroe@us.ibm.com> * sysdeps/powerpc/sysdep.h (PPC_FEATURE_HAS_SPE, PPC_FEATURE_HAS_EFP_SINGLE, PPC_FEATURE_HAS_EFP_DOUBLE, PPC_FEATURE_NO_TB, PPC_FEATURE_POWER4, PPC_FEATURE_POWER5, PPC_FEATURE_POWER5_PLUS, PPC_FEATURE_CELL, PPC_FEATURE_970): Define to match 2.6.15 kernel. * sysdeps/powerpc/fpu/e_sqrt.c: Remove dl-procinfo.h include. * sysdeps/powerpc/fpu/e_sqrtf.c: Likewise. * sysdeps/powerpc/fpu/w_sqrtf.c: Likewise.
* [BZ #1877]Ulrich Drepper2005-11-171-4/+56
| | | | | | | | | | | | 2005-11-17 Steven Munroe <sjmunroe@us.ibm.com> [BZ #1877] * string/test-strncmp.c (do_test_limit): New function. (do_test) Add cast to eliminate compiler warnings. (do_random_tests) Add cast to eliminate compiler warnings. (test_main) Add do_test_limit tests. * sysdeps/powerpc/powerpc32/strncmp.S: Test length before unaligned load. * sysdeps/powerpc/powerpc64/strncmp.S: Likewise.
* * configure.in: Remove gnu_ld definition and everything using it.Ulrich Drepper2005-11-062-10/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | * config.h.in: Remove HAVE_GNU_LD. * csu/Makefile: Remove use of gnu-ld. * csu/munch.awk: Removed. * csu/munch-tmpl.c: Removed. * include/libc-symbols.h: Remove use of HAVE_GNU_LD. * posix/execl.c: Likewise. * posix/execv.c: Likewise. * stdio-common/psignal.c: Likewise. * stdlib/exit.c: Likewise. * string/strsignal.c: Likewise. * string/tester.c: Likewise. * sysdeps/generic/errlist.c: Likewise. * sysdeps/generic/getenv.c: Likewise. * sysdeps/generic/getgroups.c: Likewise. * sysdeps/generic/init-posix.c: Likewise. * sysdeps/posix/gettimeofday.c: Likewise. * sysdeps/posix/system.c: Likewise. * sysdeps/unix/bsd/init-posix.c: Likewise. * sysdeps/unix/bsd/ulimit.c: Likewise. * sysdeps/unix/bsd/sun/m68k/brk.S: Likewise. * sysdeps/unix/bsd/sun/m68k/sethostid.S: Likewise. * sysdeps/unix/bsd/sun/sparc/sethostid.S: Likewise. * sysdeps/unix/i386/brk.S: Likewise. * sysdeps/unix/sparc/brk.S: Likewise.
* [BZ #968]Ulrich Drepper2005-10-151-3/+5
| | | | * string/strxfrm_l.c (STRXFRM): Fix exit conditions of two loops.
* * posix/bits/unistd.h (confstr, getgroups, ttyname_r, gethostname,Ulrich Drepper2005-08-081-17/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | getdomainname): Add __NTH. * stdlib/bits/stdlib.h (ptsname_r, wctomb, mbstowcs, wcstombs): Likewise. (realpath): Likewise. Use __const instead of const. Add __restrict keywords. * socket/bits/socket2.h (recvfrom): Add __restrict keyword to __buf. * wcsmbs/bits/wchar2.h (wmemcpy, wmemmove, wmempcpy, wmemset, wcscpy, wcpcpy, wcsncpy, wcpncpy, wcscat, wcsncat, vswprintf, wcrtomb, mbsrtowcs, wcsrtombs, mbsnrtowcs, wcsnrtombs): Add __NTH. * string/bits/string3.h (__memset_ichk): Likewise. (__memcpy_ichk, __memmove_ichk, __mempcpy_ichk, __strcpy_ichk, __stpcpy_ichk, __strncpy_ichk, stpncpy, __strcat_ichk, __strncat_ichk): Likewise. Use __const instead of const. (__stpncpy_chk): Use __const instead of const. (__stpncpy_alias): Use __REDIRECT_NTH instead of __REDIRECT. 2005-08-08 Ulrich Drepper <drepper@redhat.com> Jakub Jelinek <jakub@redhat.com> * nscd/mem.c (BLOCK_ALIGN_LOG, BLOCK_ALIGN, BLOCK_ALIGN_M1): Move definitions to... * nscd/nscd.h (BLOCK_ALIGN_LOG, BLOCK_ALIGN, BLOCK_ALIGN_M1): ...here. * nscd/connections.c (usekey): New enum. (check_use, verify_persistent_db): New functions. (nscd_init): If persistent database is corrupted, unlink it and recreate rather than falling back to non-persistent database. Call verify_persistent_db. Avoid overflows in total computation. 2005-08-08 Ulrich Drepper <drepper@redhat.com> * iconvdata/utf-16.c (PREPARE_LOOP): Minor cleanups to make code better readable. Avoid passing var to loop function, it's not necessary at all.
* * string/test-memset.c (test_main): Use negative byte value is cvs/fedora-glibc-20050725T0627Ulrich Drepper2005-07-251-1/+1
| | | | test.
* (do_one_test): Compare effect of call, not only return value.Ulrich Drepper2005-07-241-7/+9
| | | | Add a few cassts to avoid warnings.
* Pretty printing.Ulrich Drepper2005-07-151-1/+1
|
* * wcsmbs/bits/wchar2.h: New file.Ulrich Drepper2005-07-151-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/wchar2.h: New file. * wcsmbs/wchar.h: Include <bits/wchar2.h> if fortification is requested. * wcsmbs/wcsncpy.c: Add __wcsncpy alias. * string/bits/string3.h: Add fortified stpncpy definitions. * sysdeps/generic/stpncpy_chk.c: New file. * libio/vswprintf.c: Move _IO_wstrnfile definition to strfile.h. Export _IO_wstrn_jumps. * libio/strfile.h: Define _IO_wstrnfile and declare _IO_wstrn_jumps. * include/wchar.h: Declare __wcsncpy and __vswprintf_chk. * debug/fgetws_chk.c: New file. * debug/fgetws_u_chk.c: New file. * debug/fwprintf_chk.c: New file. * debug/swprintf_chk.c: New file. * debug/vfwprintf_chk.c: New file. * debug/vswprintf_chk.c: New file. * debug/vwprintf_chk.c: New file. * debug/wcpcpy_chk.c: New file. * debug/wcpncpy_chk.c: New file. * debug/wcscat_chk.c: New file. * debug/wcscpy_chk.c: New file. * debug/wcsncat_chk.c: New file. * debug/wcsncpy_chk.c: New file. * debug/wmemcpy_chk.c: New file. * debug/wmemmove_chk.c: New file. * debug/wmempcpy_chk.c: New file. * debug/wmemset_chk.c: New file. * debug/wprintf_chk.c: New file. * debug/tst-chk1.c: Add tests for new functions. * debug/Versions: Export new functions. * debug/Makefile (routines): Add new functions.
* * stdlib/random_r.c (__initstate_r): Don't use non-existing state.Ulrich Drepper2005-04-122-2/+17
| | | | | * string/tst-strfry.c: New file. * string/Makefile (tests): Add tst-strfry.
* [BZ #779]Ulrich Drepper2005-03-191-18/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-03-10 Jakub Jelinek <jakub@redhat.com> * math/test-misc.c (main): Add some more tests. 2005-03-17 Jakub Jelinek <jakub@redhat.com> * posix/regcomp.c (re_compile_fastmap_iter): Fix check for failed __wcrtomb. Check return values of other __wcrtomb calls. * posix/regex_internal.c (build_wcs_buffer, re_string_skip_chars): Change mbclen type to size_t. (build_wcs_upper_buffer): Change mbclen and mbcdlen type to size_t. Handle mb chars whose upper case doesn't have multibyte representation in locale's charset. 2005-03-15 Jakub Jelinek <jakub@redhat.com> * malloc/malloc.c (_int_icalloc, _int_icomalloc, iALLOc, public_iCALLOc, public_iCALLOc, public_iCOMALLOc): Protect with #ifndef _LIBC. [BZ #779] * malloc/malloc.c (public_mTRIm): Initialize malloc if not yet initialized. 2005-03-10 Jakub Jelinek <jakub@redhat.com> * misc/sys/cdefs.h (__always_inline): Define. * posix/bits/unistd.h (read, pread, pread64, readlink, getcwd, getwd): Use __always_inline instead of __inline. * socket/bits/socket2.h (recv, recvfrom): Likewise. * libio/bits/stdio2.h (gets, fgets, fgets_unlocked): Likewise. * string/bits/string3.h (__memcpy_ichk, __memmove_ichk, __mempcpy_ichk, __memset_ichk, __strcpy_ichk, __stpcpy_ichk, __strncpy_ichk, __strcat_ichk, __strncat_ichk): Use __always_inline instead of __inline__ __attribute__ ((__always_inline__)). 2005-03-09 Jakub Jelinek <jakub@redhat.com> * debug/tst-chk1.c: Include sys/socket.h and sys/un.h. (do_test): Add new tests for recv, recvfrom, getcwd, getwd and readlink. Add some more tests for read, pread, pread64, fgets and fgets_unlocked. * posix/bits/unistd.h (read, pread, pread64, readlink, getcwd, getwd): Change macros into extern inline functions. (__read_alias, __pread_alias, __pread64_alias, __readlink_alias, __getcwd_alias, __getwd_alias): New prototypes. * socket/bits/socket2.h (recv, recvfrom): Change macros into extern inline functions. (__recv_alias, __recvfrom_alias): New prototypes. * libio/bits/stdio2.h (gets, fgets, fgets_unlocked): Change macros into extern inline functions. (__gets_alias, __fgets_alias, __fgets_unlocked_alias): New prototypes. * debug/pread_chk.c (__pread_chk): Fix order of arguments passed to __pread. * debug/pread64_chk.c (__pread64_chk): Fix order of arguments passed to __pread64.
* * include/libc-symbols.h (__hidden_proto): Remove bogus declarationRoland McGrath2005-03-171-2/+4
| | | | | | | | | | | | | | of internal. (__hidden_def1, __hidden_dot_def1): Remove. (__hidden_def2, __hidden_def3): Remove. (__hidden_ver1): New. (hidden_ver, hidden_def, hidden_weak): Use it. (hidden_data_ver, hidden_data_ver, hidden_data_weak): Use non-data version of the macro. * include/wchar.h (__wcscoll): Remove. * wcsmbs/wcscoll.c: Define wcscoll directly instead of via __wcscoll. * string/strcoll.c: Don't issue libc_hidden_def STRCOLL redefined.
* * posix/bits/unistd.h: Avoid calling __*_chk variants if we canUlrich Drepper2005-03-011-3/+3
| | | | | | | | | | | | | | | | | | | | determine the call will never trigger a failure. * sysdeps/i386/i686/memset_chk.S: Remove alias and warning. * sysdeps/x86_64/memset_chk.S: Likewise. 2005-02-24 Roland McGrath <roland@redhat.com> * debug/Versions (libc: GLIBC_2.4): Remove __memset_zero_constant_len_parameter. * sysdeps/generic/memset_chk.c: Remove alias and warning. * misc/sys/cdefs.h (__warndecl): New macro. * debug/warning-nop.c: New file. * string/bits/string3.h (memset): Call __warn_memset_zero_len with no arguments, instead of calling __memset_zero_constant_len_parameter. Use __warndecl for __warn_memset_zero_len. * debug/Makefile (routines): Add $(static-only-routines). (static-only-routines): New variable.
* * sysdeps/unix/sysv/linux/libc_fatal.c: Print backtrace and memoryUlrich Drepper2005-02-211-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | map if requested. * debug/chk_fail.c: Request backtrace and memory map dump. * Versions.def: Add GLIBC_2.4 for libc. * debug/fgets_chk.c: New file. * debug/fgets_u_chk.c: New file. * debug/getcwd_chk.c: New file. * debug/getwd_chk.c: New file. * debug/readlink_chk.c: New file. * debug/read_chk.c: New file. * debug/pread_chk.c: New file. * debug/pread64_chk.c: New file. * debug/recv_chk.c: New file. * debug/recvfrom_chk.c: New file. * debug/Versions: Add all new functions with version GLIBC_2.4. * debug/Makefile (routines): Add fgets_chk, fgets_u_chk, read_chk, pread_chk, pread64_chk, recv_chk, recvfrom_chk, readlink_chk, getwd_chk, and getcwd_chk. Plus appropriate CFLAGS definitions. * debug/tst-chk1.c: Add more tests. * libio/bits/stdio2.h: Add macros for fgets and fgets_unlocked. * include/stdio.h: Declare __fgets_chk and __fgets_unlocked_chk. * posix/unistd.h: Include <bits/unistd.h> for fortification. * posix/bits/unistd.h: New file. * posix/Makefile (headers): Add bits/unistd.h. * socket/sys/socket.h: Include <bits/socket2.h> for fortification. * socket/bits/socket2.h: New file. * socket/Makefile (headers): Add bits/socket2.h. * string/bits/string3.h: Extend memset macro to check for zero 3rd parameter and use __memset_zero_constant_len_parameter in that case. * sysdeps/generic/memset_chk.c: Add __memset_zero_constant_len_parameter alias and linker warning. * debug/Versions: Add __memset_zero_constant_len_parameter to libc with version GLIBC_2.4. * sysdeps/generic/bits/types.h: Don't unnecessarily use __extension__ in __STD_TYPE definition. 2005-02-21 Jakub Jelinek <jakub@redhat.com> * malloc/malloc.c (malloc_printerr): If MALLOC_CHECK_={5,7}, print the error message rather than program name. 2005-02-21 Ulrich Drepper <drepper@redhat.com>
* (CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.Ulrich Drepper2004-12-2271-4818/+143
|
* 2.5-18.1Jakub Jelinek2007-07-1271-143/+4818
|
* 2004-10-15 Jakub Jelinek <jakub@redhat.com>Ulrich Drepper2004-10-183-1/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * elf/dl-minimal.c (__chk_fail): New. Add rtld_hidden_def. * sysdeps/unix/sysv/linux/readonly-area.c: New file. * sysdeps/i386/i686/memmove.S (__memmove_chk): Add checking routine. * sysdeps/i386/i686/memcpy.S (__memcpy_chk): Likewise. * sysdeps/i386/i686/mempcpy.S (__mempcpy_chk): Likewise. * sysdeps/i386/i686/memset.S (__memset_chk): Likewise. * sysdeps/i386/i686/memmove-chk.S: New file. * sysdeps/i386/i686/memcpy-chk.S: Likewise. * sysdeps/i386/i686/mempcpy-chk.S: Likewise. * sysdeps/i386/i686/memset-chk.S: Likewise. * sysdeps/generic/strcat-chk.c (__strcat_chk): Don't __chk_fail if exactly fitting into buffer. * sysdeps/generic/strncat-chk.c (__strncat_chk): Likewise. * sysdeps/generic/readonly-area.c: New file. * sysdeps/generic/strncpy-chk.c (__strncpy_chk): Only test destlen once. * sysdeps/x86_64/memset.S (__memset_chk): Add checking routine. * sysdeps/x86_64/memcpy.S (__memcpy_chk): Likewise. * sysdeps/x86_64/mempcpy.S (__memcpy_chk): Define to __mempcpy_chk. * sysdeps/x86_64/memcpy-chk.S: New file. * sysdeps/x86_64/mempcpy-chk.S: Likewise. * sysdeps/x86_64/memset-chk.S: Likewise. * sysdeps/x86_64/strcpy-chk.S: Likewise. * sysdeps/x86_64/stpcpy-chk.S: Likewise. * argp/argp-xinl.c (__OPTIMIZE__): Define to 1 instead of nothing. * argp/argp-fs-xinl.c (__OPTIMIZE__): Likewise. * debug/tst-chk1.c: New test. * debug/tst-chk2.c: Likewise. * debug/tst-chk3.c: Likewise. * debug/test-strcpy_chk.c: Likewise. * debug/test-stpcpy_chk.c: Likewise. * debug/vsprintf_chk.c (__vsprintf_chk): If flags > 0, request _IO_FLAGS2_CHECK_PERCENT_N. Add libc_hidden_def. * debug/Makefile (routines): Add printf_chk, fprintf_chk, vprintf_chk, vfprintf_chk, gets_chk and readonly-area. (CFLAGS-*_chk.c): Set. (tests): Add tst-chk1, tst-chk2, tst-chk3, test-strcpy_chk and test-stpcpy_chk. * debug/vprintf_chk.c: New file. * debug/printf_chk.c: Likewise. * debug/vfprintf_chk.c: Likewise. * debug/fprintf_chk.c: Likewise. * debug/gets_chk.c: Likewise. * debug/chk_fail.c (__chk_fail): Add libc_hidden_def. * debug/snprintf_chk.c (__snprintf_chk): Fix order of arguments passed to __vsnprintf_chk. * debug/Versions (libc): Export __printf_chk, __fprintf_chk, __vprintf_chk, __vfprintf_chk and __gets_chk @GLIBC_2.3.4. * debug/vsnprintf_chk.c (__vsnprintf_chk): Don't call __vsnprintf, instead create a temporary file with _IO_strn_jumps jumptable. If flags > 0, request _IO_FLAGS2_CHECK_PERCENT_N. Add libc_hidden_def. * libio/Makefile (headers): Add bits/stdio2.h. * libio/stdio.h: Include <bits/stdio2.h> if __USE_FORTIFY_LEVEL. (sprintf, snprintf, vsprintf, vsnprintf): Remove defines. * libio/strfile.h (_IO_strnfile): New type. (_IO_strn_jumps): New extern. * libio/vsnprintf.c (_IO_strnfile): Remove. (_IO_strn_jumps): Remove static. * libio/bits/stdio2.h: New file. * libio/vswprintf.c (_IO_strnfile): Rename type to... (_IO_wstrnfile): ...this. Adjust all uses. * libio/libio.h (_IO_FLAGS2_CHECK_PERCENT_N): Define. * stdio-common/vfprintf.c (STR_LEN): Define. (vfprintf): Add readonly_format variable. Handle _IO_FLAGS2_CHECK_PERCENT_N. (buffered_vfprintf): Copy _flags2. * include/stdio.h (__sprintf_chk, __snprintf_chk, __vsprintf_chk, __vsnprintf_chk, __printf_chk, __fprintf_chk, __vprintf_chk, __vfprintf_chk): New prototypes. (__vsprintf_chk, __vsnprintf_chk): Add libc_hidden_proto. * include/string.h (__memcpy_chk, __memmove_chk, __mempcpy_chk, __memset_chk, __strcpy_chk, __stpcpy_chk, __strncpy_chk, __strcat_chk, __strncat_chk): New prototypes. * include/bits/string3.h: New file. * include/sys/cdefs.h (__chk_fail): Add libc_hidden_proto and rtld_hidden_proto. * string/Makefile (headers): Add bits/string3.h. * string/bits/string3.h (bcopy, bzero): New defines. (memset, memcpy, memmove, strcpy, strncpy, strcat, strncat): Change macros so that inlines are used only if unknown destination size or side-effects in destination argument. (mempcpy, stpcpy): Likewise. Protect with #ifdef __USE_GNU. 2004-09-16 Ulrich Drepper <drepper@redhat.com> * debug/Makefile (routines): Add *_chk. * debug/Versions (libc): Export __chk_fail, __memcpy_chk, __memmove_chk, __mempcpy_chk, __memset_chk, __stpcpy_chk, __strcat_chk, __strcpy_chk, __strncat_chk, __strncpy_chk, __sprintf_chk, __vsprintf_chk, __snprintf_chk, __vsnprintf_chk @GLIBC_2.3.4. * debug/chk_fail.c: New file. * debug/snprintf_chk.c: Likewise. * debug/sprintf_chk.c: Likewise. * debug/vsnprintf_chk.c: Likewise. * debug/vsprintf_chk.c: Likewise. * include/features.h (_FORTIFY_SOURCE): Document, handle. (__USE_FORTIFY_LEVEL): Define. (__GNUC_PREREQ): Move to earlier location. * include/sys/cdefs.h (__chk_fail): New prototype. * libio/bits/stdio.h (sprintf, vsprintf, snprintf, vsnprintf): Define if __USE_FORTIFY_LEVEL. * misc/sys/cdefs.h (__bos, __bos0): Define. * string/string.h: Include <bits/string3.h> if __USE_FORTIFY_LEVEL. * bits/string/string3.h: New header. * sysdeps/generic/memcpy_chk.c: New file. * sysdeps/generic/memmove_chk.c: Likewise. * sysdeps/generic/mempcpy_chk.c: Likewise. * sysdeps/generic/memset_chk.c: Likewise. * sysdeps/generic/stpcpy_chk.c: Likewise. * sysdeps/generic/strcat_chk.c: Likewise. * sysdeps/generic/strcpy_chk.c: Likewise. * sysdeps/generic/strncat_chk.c: Likewise. * sysdeps/generic/strncpy_chk.c: Likewise. 2004-10-15 Jakub Jelinek <jakub@redhat.com> * elf/dl-minimal.c (__chk_fail): New. Add rtld_hidden_def. * sysdeps/unix/sysv/linux/readonly-area.c: New file. * sysdeps/i386/i686/memmove.S (__memmove_chk): Add checking routine. * sysdeps/i386/i686/memcpy.S (__memcpy_chk): Likewise. * sysdeps/i386/i686/mempcpy.S (__mempcpy_chk): Likewise. * sysdeps/i386/i686/memset.S (__memset_chk): Likewise. * sysdeps/i386/i686/memmove-chk.S: New file. * sysdeps/i386/i686/memcpy-chk.S: Likewise. * sysdeps/i386/i686/mempcpy-chk.S: Likewise. * sysdeps/i386/i686/memset-chk.S: Likewise. * sysdeps/generic/strcat-chk.c (__strcat_chk): Don't __chk_fail if exactly fitting into buffer. * sysdeps/generic/strncat-chk.c (__strncat_chk): Likewise. * sysdeps/generic/readonly-area.c: New file. * sysdeps/generic/strncpy-chk.c (__strncpy_chk): Only test destlen once. * sysdeps/x86_64/memset.S (__memset_chk): Add checking routine. * sysdeps/x86_64/memcpy.S (__memcpy_chk): Likewise. * sysdeps/x86_64/mempcpy.S (__memcpy_chk): Define to __mempcpy_chk. * sysdeps/x86_64/memcpy-chk.S: New file. * sysdeps/x86_64/mempcpy-chk.S: Likewise. * sysdeps/x86_64/memset-chk.S: Likewise. * sysdeps/x86_64/strcpy-chk.S: Likewise. * sysdeps/x86_64/stpcpy-chk.S: Likewise. * argp/argp-xinl.c (__OPTIMIZE__): Define to 1 instead of nothing. * argp/argp-fs-xinl.c (__OPTIMIZE__): Likewise. * debug/tst-chk1.c: New test. * debug/tst-chk2.c: Likewise. * debug/tst-chk3.c: Likewise. * debug/test-strcpy_chk.c: Likewise. * debug/test-stpcpy_chk.c: Likewise. * debug/vsprintf_chk.c (__vsprintf_chk): If flags > 0, request _IO_FLAGS2_CHECK_PERCENT_N. Add libc_hidden_def. * debug/Makefile (routines): Add printf_chk, fprintf_chk, vprintf_chk, vfprintf_chk, gets_chk and readonly-area. (CFLAGS-*_chk.c): Set. (tests): Add tst-chk1, tst-chk2, tst-chk3, test-strcpy_chk and test-stpcpy_chk. * debug/vprintf_chk.c: New file. * debug/printf_chk.c: Likewise. * debug/vfprintf_chk.c: Likewise. * debug/fprintf_chk.c: Likewise. * debug/gets_chk.c: Likewise. * debug/chk_fail.c (__chk_fail): Add libc_hidden_def. * debug/snprintf_chk.c (__snprintf_chk): Fix order of arguments passed to __vsnprintf_chk. * debug/Versions (libc): Export __printf_chk, __fprintf_chk, __vprintf_chk, __vfprintf_chk and __gets_chk @GLIBC_2.3.4. * debug/vsnprintf_chk.c (__vsnprintf_chk): Don't call __vsnprintf, instead create a temporary file with _IO_strn_jumps jumptable. If flags > 0, request _IO_FLAGS2_CHECK_PERCENT_N. Add libc_hidden_def. * libio/Makefile (headers): Add bits/stdio2.h. * libio/stdio.h: Include <bits/stdio2.h> if __USE_FORTIFY_LEVEL. (sprintf, snprintf, vsprintf, vsnprintf): Remove defines. * libio/strfile.h (_IO_strnfile): New type. (_IO_strn_jumps): New extern. * libio/vsnprintf.c (_IO_strnfile): Remove. (_IO_strn_jumps): Remove static. * libio/bits/stdio2.h: New file. * libio/vswprintf.c (_IO_strnfile): Rename type to... (_IO_wstrnfile): ...this. Adjust all uses. * libio/libio.h (_IO_FLAGS2_CHECK_PERCENT_N): Define. * stdio-common/vfprintf.c (STR_LEN): Define. (vfprintf): Add readonly_format variable. Handle _IO_FLAGS2_CHECK_PERCENT_N. (buffered_vfprintf): Copy _flags2. * include/stdio.h (__sprintf_chk, __snprintf_chk, __vsprintf_chk, __vsnprintf_chk, __printf_chk, __fprintf_chk, __vprintf_chk, __vfprintf_chk): New prototypes. (__vsprintf_chk, __vsnprintf_chk): Add libc_hidden_proto. * include/string.h (__memcpy_chk, __memmove_chk, __mempcpy_chk, __memset_chk, __strcpy_chk, __stpcpy_chk, __strncpy_chk, __strcat_chk, __strncat_chk): New prototypes. * include/bits/string3.h: New file. * include/sys/cdefs.h (__chk_fail): Add libc_hidden_proto and rtld_hidden_proto. * string/Makefile (headers): Add bits/string3.h. * string/bits/string3.h (bcopy, bzero): New defines. (memset, memcpy, memmove, strcpy, strncpy, strcat, strncat): Change macros so that inlines are used only if unknown destination size or side-effects in destination argument. (mempcpy, stpcpy): Likewise. Protect with #ifdef __USE_GNU. 2004-09-16 Ulrich Drepper <drepper@redhat.com> * debug/Makefile (routines): Add *_chk. * debug/Versions (libc): Export __chk_fail, __memcpy_chk, __memmove_chk, __mempcpy_chk, __memset_chk, __stpcpy_chk, __strcat_chk, __strcpy_chk, __strncat_chk, __strncpy_chk, __sprintf_chk, __vsprintf_chk, __snprintf_chk, __vsnprintf_chk @GLIBC_2.3.4. * debug/chk_fail.c: New file. * debug/snprintf_chk.c: Likewise. * debug/sprintf_chk.c: Likewise. * debug/vsnprintf_chk.c: Likewise. * debug/vsprintf_chk.c: Likewise. * include/features.h (_FORTIFY_SOURCE): Document, handle. (__USE_FORTIFY_LEVEL): Define. (__GNUC_PREREQ): Move to earlier location. * include/sys/cdefs.h (__chk_fail): New prototype. * libio/bits/stdio.h (sprintf, vsprintf, snprintf, vsnprintf): Define if __USE_FORTIFY_LEVEL. * misc/sys/cdefs.h (__bos, __bos0): Define. * string/string.h: Include <bits/string3.h> if __USE_FORTIFY_LEVEL. * bits/string/string3.h: New header. * sysdeps/generic/memcpy_chk.c: New file. * sysdeps/generic/memmove_chk.c: Likewise. * sysdeps/generic/mempcpy_chk.c: Likewise. * sysdeps/generic/memset_chk.c: Likewise. * sysdeps/generic/stpcpy_chk.c: Likewise. * sysdeps/generic/strcat_chk.c: Likewise. * sysdeps/generic/strcpy_chk.c: Likewise. * sysdeps/generic/strncat_chk.c: Likewise. * sysdeps/generic/strncpy_chk.c: Likewise.