mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-29 16:21:07 +00:00
8c7d3691c4
4 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
Ulrich Drepper
|
b5cc329c4f |
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. 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. |
||
Ulrich Drepper
|
219aa9e9f9 |
Update.
1999-08-18 Ulrich Drepper <drepper@cygnus.com> * Rules: When generating stdio_lim.h also rewrite IOV_MAX definition. * stdio-common/stdio_lim.h.in: Add IOV_MAX template. * include/bits/xopen_lim.h: Don't define IOV_MAX here, get it from stdio_lim.h. Define LONG_BIT and WORD_BIT. * include/features.h: Define __USE_XOPEN2K if _XOPEN_SOURCE == 600. * libio/stdio.h: Don't declare cuserid and getopt for X/Open issue 6. * misc/search.h: Don't define NULL. * posix/sys/types.h: Define blksize_t if it hasn't happened. Only define key_t and blkcnt_t if it hasn't happened before. Define blksize_t if not happened before. * io/sys/stat.h: Don't define pid_t. Define blkcnt_t and blksize_t. * sysdeps/generic/bits/types.h: Define __blksize_t. * sysdeps/unix/sysv/linux/alpha/bits/types.h: Likewise. * sysdeps/unix/sysv/linux/bits/types.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/types.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/types.h: Likewise. * sysdeps/unix/sysv/sysv4/solaris2/bits/types.h: Likewise. * sysdeps/mach/hurd/bits/stat.h (struct stat): Use __blksize_t for st_blksize member. (struct stat64): Likewise. * sysdeps/unix/bsd/bits/stat.h: Likewise. * sysdeps/unix/bsd/osf/alpha/bits/stat.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/stat.h: Likewise. * sysdeps/unix/sysv/linux/bits/stat.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/stat.h: Likewise. * sysdeps/unix/sysv/sysv4/i386/bist/stat.h: Likewise. * sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h: Likewise. * stdlib/getsubopt.c: Correct type of second argument. * stdlib/stdlib.h: Likewise. * stdlib/monetary.h: Don't include sys/types.h. Define only size_t and ssize_t. * sysdeps/generic/putenv.c: Correct type of parameter. * stdlib/stdlib.h: Likewise. * sysdeps/generic/msgsnd.c: Correct type of second parameter. * sysdeps/unix/sysv/linux/msgsnd.c: Likewise. * sysvips/sys/msg.h: Likewise. * sysdeps/generic/semop.c: Correct type of third parameter. * sysdeps/unix/sysv/linux/semop.c: Likewise. * sysvipc/sys/sem.h: Likewise. Don't include sys/types.h, define size_t. * sysdeps/generic/shmget.c: Correct type of second parameter. * sysdeps/unix/sysv/linux/shmget.c: Likewise. * sysvips/sys/shm.h: Likewise. Don't include unistd.h and sys/types.h. Declare __getpagesize here. * sysdeps/generic/bits/ipc.h: Include bits/types.h instead of sys/types.h. * sysdeps/gnu/bits/ipc.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/ipc.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/ipc.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/ipc.h: Likewise. * sysvipc/sys/ipc.h: Define uid_t, gid_t, mode_t, and key_t if not already done. * sysdeps/unix/bsd/usleep.c: Correct type of parameter. * debug/versions: Export __cyg_profile_func_enter and __cyg_profile_func_exit. * math/bits/mathcalls.h: Pretty print. |
||
Ulrich Drepper
|
107f813141 |
Update.
1998-07-16 20:01 Ulrich Drepper <drepper@cygnus.com> * debug/Makefile (routines): Add backtracesymsfd. Add rules to generate libSegFault. * debug/Versions: Add __backtrace_symbols_fd and backtrace_symbols_fd. * debug/execinfo.h: Declare backtrace_symbols_fd. * sysdeps/generic/backtracesymsfd.c: New file. * sysdeps/generic/elf/backtracesymsfd.c: New file. * sysdeps/generic/segfault.c: New file. * sysdeps/generic/sigcontextinfo.h: New file. * sysdeps/unix/sysv/linux/i386/sigcontextinfo.h: New file. * sysdeps/generic/elf/backtracesyms.c: Remove unneeded +. |
||
Ulrich Drepper
|
b0b67c47a5 |
Update.
1998-07-02 21:51 Ulrich Drepper <drepper@cygnus.com> * Makeconfig: Define list of subdirs as all-subdirs and make subdirs a copy. * Makefile: Add rules to generate map files. (distribute): Remove libc.map, add Versions.def and versions.awk. * Makerules: Change rules to find map files on common-objpfx. * elf/Makefile: Likewise. * md5-crypt/Makefile: Likewise. * nis/Makefile (libnsl-map): Remove. * Versions.def: New file. * versions.awk: New file. * argp/Versions: New file. * assert/Versions: New file. * catgets/Versions: New file. * csu/Versions: New file. * ctype/Versions: New file. * db/Versions: New file. * debug/Versions: New file. * dirent/Versions: New file. * elf/Versions: New file. * gmon/Versions: New file. * grp/Versions: New file. * hesiod/Versions: New file. * hurd/Versions: New file. * iconv/Versions: New file. * inet/Versions: New file. * intl/Versions: New file. * io/Versions: New file. * libio/Versions: New file. * linuxthreads/Versions: New file. * locale/Versions: New file. * login/Versions: New file. * malloc/Versions: New file. * math/Versions: New file. * md5-crypt/Versions: New file. * misc/Versions: New file. * nis/Versions: New file. * nss/Versions: New file. * posix/Versions: New file. * pwd/Versions: New file. * resolv/Versions: New file. * resource/Versions: New file. * rt/Versions: New file. * setjmp/Versions: New file. * shadow/Versions: New file. * signal/Versions: New file. * socket/Versions: New file. * stdio/Versions: New file. * stdio-common/Versions: New file. * stdlib/Versions: New file. * streams/Versions: New file. * string/Versions: New file. * sunrpc/Versions: New file. * sysdeps/alpha/Versions: New file. * sysdeps/alpha/fpu/Versions: New file. * sysdeps/i386/Versions: New file. * sysdeps/sparc/Versions: New file. * sysdeps/unix/sysv/Versions: New file. * sysdeps/unix/sysv/linux/Versions: New file. * sysdeps/unix/sysv/linux/alpha/Versions: New file. * sysdeps/unix/sysv/linux/i386/Versions: New file. * sysdeps/unix/sysv/linux/mips/Versions: New file. * sysvipc/Versions: New file. * termios/Versions: New file. * time/Versions: New file. * wcsmbs/Versions: New file. * wctype/Versions: New file. * libc.map: Removed. * db/libdb.map: Removed. * elf/libdl.map: Removed. * hesiod/libnss_hesiod.map: Removed. * hurd/libhurduser.map: Removed. * hurd/libmachuser.map: Removed. * linuxthreads/libpthread.map: Removed. * locale/libBrokenLocale.map: Removed. * login/libutil.map: Removed. * math/libm.map: Removed. * md5-crypt/libcrypt.map: Removed. * nis/libnsl.map: Removed. * nis/libnsl_compat.map: Removed. * nis/libnss_nis.map: Removed. * nis/libnss_nisplus.map: Removed. * nss/libnss_db.map: Removed. * nss/libnss_files.map: Removed. * resolv/libnss_dns.map: Removed. * resolv/libresolv.map: Removed. * rt/librt.map: Removed. * elf/dl-load.c (fillin_rpath): Fix test for trusted directory. Fix typos. * elf/rtld.c (process_dl_debug): Recognize 'all'. (process_envvars): LD_BIND_NOW must be followed by y, Y, or 1. * sysdeps/generic/elf/backtracesyms.c: Allocate string memory of correct size. * sysdeps/unix/sysv/linux/getsysstats.c (get_proc_path): Fix typo in comment. |