Commit Graph

90 Commits

Author SHA1 Message Date
Cyril Hrubis
a3aeac403e Add __wur to GNU version of strerror_r.
Not using the result of the GNU strerror_r() is always a mistake.

Moreover this would generate warning if XSI version was expected but GNU
version was used instead (because some random used header defined
_GNU_SOURCE which was Python.h in this case).
2012-06-15 09:09:59 +02:00
Marek Polacek
5ac3ea17df Fix attributes for fortify functions. 2012-04-29 15:34:20 +02:00
Paul Eggert
59ba27a63a Replace FSF snail mail address with URLs. 2012-02-09 23:18:22 +00:00
Ulrich Drepper
a784e50247 Remove pre-ISO C support
No more __const.
2012-01-07 23:57:22 -05:00
Ulrich Drepper
f095bb7204 Add support for XPG7 testing.
The header conformance testing code needed extending for XPG7.  This
exposed a few bugs in the headers.  There are more changes to come.
2010-01-09 10:56:41 -08:00
Ulrich Drepper
6cbe890a9d * wctype/wctype.h: The *_l functions are in POSIX 2008.
* wcsmbs/wchar.h: mbsnrtowcs, open_wmemstream, wcpcpy, wcpncpy,
	wcscasecmp, wcsdup, wcsncasecmp, wcsnlen, wcsnrtombs,
	wcscasecmp_l, wcsncasecmp_l, wcscoll_l, and wcsxfrm_l.
	* sysdeps/mach/hurd/bits/posix_opt.h: Reset value of macros from
	200112L to 200809L.
	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise.
	* posix/getconf.c (vars): Add _SC_THREAD_ROBUST_PRIO_INHERIT and
	_SC_THREAD_ROBUST_PRIO_PROTECT entries.
	* bits/confname.h: Add _SC_THREAD_ROBUST_PRIO_INHERIT and
	_SC_THREAD_ROBUST_PRIO_PROTECT.
	* posix/unistd.h: fexecve is in POSIX 2008.
	* time/time.h: strftime_l is in POSIX 2008.
	* io/sys/stat.h: futimens is in POSIX 2008.
	* string/strings.h: strcasecmp_l and strncasecmp_l are in POSIX 2008.
	* string/string.h: stpcpy, stpncpy, strndup, strnlen, strsignal,
	strcoll_l, strerror_l, and strxfrm_l are in POSIX 2008.
	* stdlib/stdlib.h: mkdtemp is in POSIX 2008.
2009-02-26 16:53:30 +00:00
Ulrich Drepper
8585cb7454 * string/string.h (memchr, strchr, strrchr, strpbrk, strstr, index,
rindex): For C++ add inlines so that they can be recognized as
	builtins.
	* string/strings.h: Define correct C++ prototypes for gcc 4.4.
2009-01-30 16:47:57 +00:00
Ulrich Drepper
d8387c7b7b Jakub Jelinek <jakub@redhat.com>
* string.h: Define correct C++ prototypes for gcc 4.4.
	* wchar.h: Likewise.

2009-01-29  Ulrich Drepper  <drepper@redhat.com>
2009-01-29 18:36:39 +00:00
Ulrich Drepper
de1c3ebb59 * misc/sys/cdefs.h (__va_arg_pack): Define for GCC 4.3+.
* 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.
2007-09-15 02:38:04 +00:00
Ulrich Drepper
4a44ce79c6 * sysdeps/unix/sysv/linux/i386/sysdep.h (PTR_MANGLE): Roll value before
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.
2007-02-01 16:14:15 +00:00
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.
2004-10-18 04:17:19 +00:00
Ulrich Drepper
be27d08c05 Update.
2004-09-22  Ulrich Drepper  <drepper@redhat.com>

	* string/string.h: Add __nonnull annotations.
	* stdlib/stdlib.h: Likewise.
2004-09-22 08:20:57 +00:00
Ulrich Drepper
f377d02227 Update.
* include/atomic.h: Define atomic_increment_val, atomic_decrement_val,
	and atomic_dealy is not already defined.
	* sysdeps/i386/i486/bits/atomic.h: Define atomic_delay.
	* sysdeps/x86_64/bits/atomic.h: Likewise.

	* miscd/sys/cdefs.h (__NTH): New macro.
	(__THROW): Define using nothrow attribute for C code and gcc >= 3.2.
	(__REDIRECT_NTH): New macro.
	* argp/argp.h: Use __NTH and __REDIRECT_NTH where necessary.
	* ctype/ctype.h: Likewise.
	* dirent/dirent.h: Likewise.
	* io/fcntl.h: Likewise.
	* io/sys/sendfile.h: Likewise.
	* io/sys/stat.h: Likewise.
	* io/sys/statfs.h: Likewise.
	* io/sys/statvfs.h: Likewise.
	* libio/bits/stdio.h: Likewise.
	* misc/sys/mman.h: Likewise.
	* posix/unistd.h: Likewise.
	* resource/sys/resource.h: Likewise.
	* rt/aio.h: Likewise.
	* signal/signal.h: Likewise.
	* stdlib/stdlib.h: Likewise.
	* string/argz.h: Likewise.
	* string/string.h: Likewise.
	* sysdeps/generic/inttypes.h: Likewise.
	* sysdeps/i386/fpu/bits/mathinline.h: Likewise.
	* sysdeps/powerpc/fpu/bits/mathinline.h: Likewise.
	* sysdeps/s390/fpu/bits/mathinline.h: Likewise.
	* sysdeps/x86_64/fpu/bits/mathinline.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/sys/sysmacros.h: Likewise.
	* wcsmbs/wchar.h: Likewise.

	* sysdeps/generic/glob.c: Use __PMT isntead of __P where appropriate.

	* resolv/gethnamaddr.c (getanswer): Remove __P use in variable
	definition.

	* io/sys/poll.h: Remove __THROW from poll prototype, it's a
	cancellation point.
2004-09-07 22:33:37 +00:00
Ulrich Drepper
61645263d4 Update.
2004-03-22  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c
	(__getpagesize): Avoid warning about writing into read-only memory.

	* string/Makefile (routines): Add xpg-strerror.
	* string/string.h (strerror_r): If __USE_XOPEN2K but not __USE_GNU,
	redirect strerror_r to __xpg_strerror_r.
	* string/Versions (libc): Add __xpg_strerror_r@@GLIBC_2.3.4.
	* sysdeps/generic/xpg-strerror.c: New file.
	* sysdeps/mach/xpg-strerror.c: New file.
2004-03-22 19:54:06 +00:00
Ulrich Drepper
7329994338 Update.
More cancellation handling fixups.
	* sysdeps/unix/sysv/linux/not-cancel.h: Add waitpid_not_cancel.
	* sysdeps/generic/not-cancel.h: Likewise.
	* catgets/open_catalog.c: Use not-cancelable syscalls.
	* time/Makefile (CFLAGS-getdate.c): Add -fexceptions.
	* sysdeps/unix/sysv/linux/llseek.c: Must not be cancelable.
	* sysdeps/unix/syscalls.list: Don't mark lseek as cancelable.
	* dlfcn/dlfcn.h: Mark dlopen with __THROW again.
	* io/fcntl.h: Don't mark posix_fallocate with __THROW.
	* libio/fileops.c: Use not-cancelable syscalls for fclose.
	* libio/iopopen.c: Use no-cancelable syscalls.
	* libio/stdio.h: Mark popen and pclose with __THROW again.
	* misc/Makefile (CFLAGS-syslog.c): Add -fexceptions.
	* misc/syslog.c: Fix locking and cancellation cleanup handling.
	* posix/unistd.h: Mark ttyname and ttyname_r again with __THROW.
	* stdio-common/Makefile (CFLAGS-tmpfile.c, CFLAGS-tmpfile64.c,
	CFLAGS-tempname.c): Add -fexceptions.
	* stdlib/Makefile (CFLAGS-mkstemp.c): Add -fexceptions.
	* string/string.h: Mark strerror and strerror_r with _THROW again.
	* sysdeps/generic/unwind.inc: New file.  Copied from gcc.
	* sysdeps/generic/unwind-dw2.c: Update from gcc version.  Remove
	#ifs since we now need all the code compiled.
	* sysdeps/posix/spawni.c: Use close_not_cancel instead of close.
	* sysdeps/unix/closedir.c: Use not-cancelable syscalls.
	* sysdeps/unix/opendir.c: Likewise.
2003-07-15 07:52:52 +00:00
Ulrich Drepper
2c008571c3 Update.
2003-04-19  Ulrich Drepper  <drepper@redhat.com>

	* catgets/nl_types.h: Remove __THROW marker from cancellation points.
	* dirent/dirent.h: Likewise.
	* dlfcn/dlfcn.h: Likewise.
	* grp/grp.h: Likewise.
	* iconv/iconv.h: Likewise.
	* io/fcntl.h: Likewise.
	* io/ftw.h: Likewise.
	* libio/stdio.h: Likewise.
	* misc/sys/mman.h: Likewise.
	* misc/sys/select.h: Likewise.
	* misc/sys/syslog.h: Likewise.
	* misc/sys/uio.h: Likewise.
	* posix/spawn.h: Likewise.
	* posix/unistd.h: Likewise.
	* posix/sys/wait.h: Likewise.
	* pwd/pwd.h: Likewise.
	* resolv/netdb.h: Likewise.
	* rt/aio.h: Likewise.
	* shadow/shadow.h: Likewise.
	* signal/signal.h: Likewise.
	* socket/sys/socket.h: Likewise.
	* stdlib/stdlib.h: Likewise.
	* streams/stropts.h: Likewise.
	* string/string.h: Likewise.
	* sysdeps/gnu/utmpx.h: Likewise.
	* sysvipc/sys/msg.h: Likewise.
	* termios/termios.h: Likewise.
	* time/time.h: Likewise.
	* wcsmbs/wchar.h: Likewise.
	* iconv/gconv_cache.c: Include <not-cancel.h> and use non-cancelable
	functions.
	* misc/daemon.c: Likewise.
	* sysdeps/generic/backtracesymsfd.c: Likewise.
	* sysdeps/generic/check_fds.c: Likewise.
	* sysdeps/unix/sysv/linux/gethostid.c: Likewise.
	* sysdeps/unix/sysv/linux/not-cancel.h: New file.
	* sysdeps/generic/not-cancel.h: New file.
	* csu/Makefile (distribute): Add not-cancel.h.
	* sysdeps/unix/sysv/linux/fatal-prepare.h: New file.
	* sysdeps/unix/sysv/linux/Makefile: Define FATAL_PREPARE_INCLUDE
	for assert.c and assert-perr.c to include <fatal-prepare.h>.
	* sysdeps/unix/sysv/linux/Dist: Add fatal-prepare.h.

	* sysdeps/posix/remove.c (remove): Rewrite.  No need to restore
	errno and unlink first.

	* io/ftw.c (ftw_dir): In all places assume fchdir is available.

2003-04-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/libc_fatal.c (__libc_fatal): Use
	INTERNAL_SYSCALL instead of INLINE_SYSCALL.
2003-04-19 16:57:17 +00:00
Ulrich Drepper
7a5affebe8 Prepare headers for use in ISO C++ compliant implementations. 2002-08-28 08:01:11 +00:00
Roland McGrath
da4cfe381c * ctype/ctype.h (isascii_l, toascii_l): Define to __*_l counterparts.
* ctype/ctype-extn.c (isblank_l): Add weak alias.
	* sysdeps/generic/strtol_l.c (strtol_l): Likewise.
	* sysdeps/generic/strtoll_l.c (strtoll_l): Likewise.
	* sysdeps/generic/strtoul_l.c (strtoul_l): Likewise.
	* sysdeps/generic/strtoull_l.c (strtoull_l): Likewise.
	* wctype/iswctype_l.c (iswctype_l): Likewise.

	* time/strftime.c [USE_IN_EXTENDED_LOCALE_MODEL]: No libc_hidden_def.

	* ctype/ctype.h (__exctype_l): Don't declare __ name.
	* stdlib/stdlib.h: Don't declare __*_l names.
	* include/stdlib.h: Declare them here instead.
	* include/string.h: Don't declare __*_l names.
	* string/string.h: Declare them here instead.
	* time/time.h: Don't declare __*_l names.
	* include/time.h: Declare them here instead.
	* wcsmbs/wchar.h: Don't declare __*_l names.
	* include/wchar.h: Declare them here instead.
	* wctype/wctype.h: Declare iswalnum_l, not __iswalnum_l.
	Don't declare __*_l names.
	* include/wctype.h: Declare them here instead.
	* stdlib/monetary.h: Declare strfmon_l, not __strfmon_l.
	* stdlib/strfmon_l.c (strfmon_l): Define as weak alias.
	* locale/langinfo.h: Don't declare __nl_langinfo_l.
	* include/langinfo.h: Declare it here with __typeof.
2002-08-27 23:36:31 +00:00
Roland McGrath
1ab62b326e * locale/Versions (libc: GLIBC_2.3): Add all the *_l functions
with no __ prefix.
	* locale/langinfo.h [__USE_GNU]: Declare nl_langinfo_l.
	* ctype/ctype.h [__USE_GNU]: Add declarations and macros for
	all *_l functions with no __ prefix.
	* wctype/wcfuncs_l.c: Define weak aliases without __ for all fns.
	* ctype/ctype_l.c: Likewise.
	* locale/nl_langinfo.c: Likewise.
	* string/string.h [__USE_GNU]: Add decls for all *_l fns with no __.
	* stdlib/stdlib.h [__USE_GNU]: Likewise.
	* wcsmbs/wchar.h [__USE_GNU]: Likewise.
	* wctype/wctype.h [__USE_GNU]: Likewise.
	* string/strcoll_l.c (strcoll_l): Define as weak alias.
	* string/strxfrm_l.c (strxfrm_l): Define as weak alias.
	* sysdeps/generic/strcasecmp_l.c (strcasecmp_l): Define as weak alias.
	* sysdeps/generic/strncase_l.c (strncasecmp_l): Define as weak alias.
	* stdlib/strtod_l.c (strtod_l): Define as weak alias.
	* stdlib/strtof_l.c (strtof_l): Define as weak alias.
	* stdlib/strtold_l.c (strtold_l): Define as weak alias.
	* wcsmbs/wcscasecmp_l.c (wcscasecmp_l): Define as weak alias.
	(__wcscasecmp_l): Add libc_hidden_def.
	* wcsmbs/wcsncase_l.c (wcsncasecmp_l): Define as weak alias.
	(__wcsncasecmp_l): Add libc_hidden_def.
	* wcsmbs/wcstof_l.c (wcstof_l): Define as weak alias.
	* wcsmbs/wcstod_l.c (wcstod_l): Define as weak alias.
	* wcsmbs/wcstold_l.c (wcstold_l): Define as weak alias.
	* wcsmbs/wcscoll_l.c (wcscoll_l): Define as weak alias.
	* wcsmbs/wcsxfrm_l.c (wcsxfrm_l): Define as weak alias.
	* sysdeps/generic/wcstol_l.c (wcstol_l): Define as weak alias.
	* sysdeps/generic/wcstoll_l.c (wcstoll_l): Define as weak alias.
	* sysdeps/generic/wcstoul_l.c (wcstoul_l): Define as weak alias.
	* sysdeps/generic/wcstoull_l.c (wcstoull_l): Define as weak alias.
	* sysdeps/wordsize-64/wcstol_l.c (wcstoll_l): Define as weak alias.
	* sysdeps/wordsize-64/wcstoul_l.c (wcstoull_l): Define as weak alias.
	* wctype/wctrans_l.c (wctrans_l) Define as weak alias.
	* wctype/towctrans_l.c (towctrans_l) Define as weak alias.
	* wctype/wctype_l.c (wctype_l) Define as weak alias.
2002-08-06 08:40:20 +00:00
Ulrich Drepper
47cbdebd7e Update.
2002-04-21  Ulrich Drepper  <drepper@redhat.com>

	* string/string.h: Declare strerror_r also for XPG6.
2002-04-21 18:04:21 +00:00
Ulrich Drepper
557a9213f6 Update.
2001-10-31  Ulrich Drepper  <drepper@redhat.com>

	* iconvdata/Makefile: Add support for IBM1132, IBM1133, and IBM1162
	modules.
	* iconvdata/TESTS: Likewise.
	* iconvdata/gconv-modules: Likewise.
	* iconvdata/ibm1132.c: New file.
	* iconvdata/ibm1132.h: New file.
	* iconvdata/ibm1133.c: New file.
	* iconvdata/ibm1133.h: New file.
	* iconvdata/ibm1162.c: New file.
	* iconvdata/ibm1162.h: New file.
	* iconvdata/testdata/IBM1132: New file.
	* iconvdata/testdata/IBM1132..UTF8: New file.
	* iconvdata/testdata/IBM1133: New file.
	* iconvdata/testdata/IBM1133..UTF8: New file.
	* iconvdata/testdata/IBM1162: New file.
	* iconvdata/testdata/IBM1162..UTF8: New file.
	Patches by Masahide Washizawa <WASHI@jp.ibm.com>.

	* string/string.h: Fix typo in comment.
	* wcsmbs/wchar.h: Likewise.

2001-10-30  Joseph S. Myers  <jsm28@cam.ac.uk>

	* manual/getopt.texi (getopt_long, getopt_long_only): Include
	const in type of longopts parameter.

	* sysdeps/ieee754/dbl-64/mpa.h: Add prototypes for internal functions.
	* manual/stdio.texi (Integer Conversions): Corrections to sample printf
2001-10-31 09:32:37 +00:00
Andreas Jaeger
41bdb6e20c Update to LGPL v2.1.
2001-07-06  Paul Eggert  <eggert@twinsun.com>

	* manual/argp.texi: Remove ignored LGPL copyright notice; it's
	not appropriate for documentation anyway.
	* manual/libc-texinfo.sh: "Library General Public License" ->
	"Lesser General Public License".

2001-07-06  Andreas Jaeger  <aj@suse.de>

	* All files under GPL/LGPL version 2: Place under LGPL version
	2.1.
2001-07-06 04:58:11 +00:00
Andreas Jaeger
07c416ed09 Update.
2001-05-05  Jakub Jelinek  <jakub@redhat.com>

	* include/features.h (__USE_EXTERN_INLINES): Don't define if
	__NO_INLINE__ is defined.
	* ctype/ctype.h (tolower, toupper): Change the guard condition to
	__USE_EXTERN_INLINES check only.
	* stdlib/stdlib.h (strtod, ...): Likewise.
	* wcsmbs/wchar.h (mbrlen): Likewise.
	* string/string.h: Only include bits/string.h and bits/string2.h
	if __NO_INLINE__ is not defined.
2001-05-07 08:43:11 +00:00
Ulrich Drepper
976da8479c Replace const in attribute list with __const__. 2001-04-17 04:19:13 +00:00
Andreas Jaeger
8c8f37042c * string/string.h (strndupa): Add cast for C++ conformance.
(strdupa): Likewise. 
Fixes PR libc/2173, reported by tbrowder@home.com.
2001-04-02 07:17:45 +00:00
Andreas Jaeger
bd7f30a9b7 Update.
2001-02-06  Andreas Jaeger  <aj@suse.de>

	* include/pthread.h: New file.

	* wctype/wctype.h: Move internal interfaces from here to...
	* include/wctype.h: ...here.

	* wcsmbs/wchar.h: Move __wcslen from here to...
	* include/wchar.h: ...here.

	* posix/sys/wait.h: Move __wait from here to...
	* include/sys/wait.h: ...here.

	* string/string.h: Move __ffs and __strerror_r from here to...
	* include/string.h: ...here.

	* stdlib/stdlib.h: Move __on_exit from here to...
	* include/stdlib.h: ...here.

	* libio/stdio.h: Move __vsnprintf from here to...
	* include/stdio.h: ...here.
2001-02-06 18:27:57 +00:00
Ulrich Drepper
0b4a2ea611 Remove declaration of __strcasecmp and __strcasestr. 2000-10-20 05:59:51 +00:00
Ulrich Drepper
d164630900 Update.
* libio/stdio.h: Define __FILE if __need___FILE is defined.
	* stdio/stdio.h: Likewise.
	* wcsmbs/wchar.h: Get definition of __FILE. Use __FILE instead of FILE.
	* include/stdio.h: Handle __need___FILE like __need_FILE.
	* include/wchar.h: Use __FILE instead of FILE.
	* libio/fwprintf.c: Include <stdio.h> for FILE definition.
	* libio/fwscanf.c: Likewise.
	* libio/getwc.c: Likewise.

	* sysdeps/generic/stdint.h (WINT_MAX): Define to 4294967295u.
	* sysdeps/generic/bits/wchar.h (WCHAR_MIN): Define to -2147483647 - 1.
	* sysdeps/unix/sysv/linux/i386/bits/wchar.h: Likewise.

	* assert/assert.h: Update comment header about ISO C section.
	* math/complex.h: Likewise.
	* ctype/ctype.h: Likewise.
	* include/errno.h: Likewise.
	* include/limits.h: Likewise.
	* locale/locale.h: Likewise.
	* math/math.h: Likewise.
	* setjmp/setjmp.h: Likewise.
	* signal/signal.h: Likewise.
	* stdio/stdio.h: Likewise.
	* libio/stdio.h: Likewise.
	* stdlib/stdlib.h: Likewise.
	* string/string.h: Likewise.
	* time/time.h: Likewise.
	* wcsmbs/wchar.h: Likewise.
	* wctype/wctype.h: Likewise.
	Patches by Joseph S. Myers <jsm28@cam.ac.uk>.

2000-09-13  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/bits/socket.h (__cmsg_nxthdr): Fix test
	for no more entries.
	* sysdeps/unix/sysv/aix/bits/socket.h (__cmsg_nxthdr): Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/socket.h (__cmsg_nxthdr): Likewise.
	Reported by Eric S. Johnson <esj@cs.fiu.edu>, closes PR libc/1887.

2000-09-13  Ulrich Drepper  <drepper@redhat.com>
2000-09-14 01:43:19 +00:00
Ulrich Drepper
98cbe360d9 Update.
* misc/sys/cdefs.h: Define __restrict_arr.
	* include/sys/time.h: Add restrict where required by AGd4.
	* inet/arpa/inet.h: Likewise.
	* io/sys/stat.h: Likewise.
	* io/sys/statvfs.h: Likewise.
	* misc/search.h: Likewise.
	* misc/sys/select.h: Likewise.
	* posix/glob.h: Likewise.
	* posix/regex.h: Likewise.
	* posix/spawn.h: Likewise.
	* posix/unistd.h: Likewise.
	* rt/aio.h: Likewise.
	* signal/signal.h: Likewise.
	* socket/sys/socket.h: Likewise.
	* stdlib/ucontext.h: Likewise.
	* streams/stropts.h: Likewise.
	* string/string.h: Likewise.
	* time/time.h: Likewise.
	* time/sys/time.h: Likewise.

	* posix/spawn.h: Add declarations for posix_spawnattr_getscheparam
	and posix_spawnattr_setscheparam.

	* libio/stdio.h: Make cuserid prototype again available for all
	XPG versions.
2000-08-21 06:49:52 +00:00
Ulrich Drepper
84838b8ff3 Update.
2000-05-04  Andreas Jaeger  <aj@suse.de>

	* string/string.h: Remove __strdup prototype, it's not needed in
	this file anymore.
2000-05-28 22:53:25 +00:00
Andreas Jaeger
ca5a4c3c9f Update.
2000-05-11  Jan Hubicka  <jh@suse.cz>

	* misc/sys/cdefs.h: Add support for pure attribute.

	* include/string.h: Add __attribute_pure__ to various functions.
	* string/string.h: Likewise.
2000-05-12 07:01:25 +00:00
Ulrich Drepper
002e2dc42b Update.
2000-02-24  Ulrich Drepper  <drepper@redhat.com>

	* conform/conformtest.pl (@headers): Add string.h and strings.h.
	* conform/data/string.h-data: New file.
	* conform/data/strings.h-data: New file.

	* string/string.h [__USE_XOPEN]: Don't declare functions from
	<strings.h> here as well.
2000-02-24 08:24:58 +00:00
Ulrich Drepper
e9e9b245b9 Update.
* misc/sys/cdefs.h: Define __attribute_malloc__ according to
	available gcc version.
	* string/string.h: Mark strdup, __strdup, and strndup with
	__attribute_malloc__.
	* stdlib/stdlib.h: Make malloc, calloc, realloc, and valloc with
	__attribute_malloc__.
	* malloc/malloc.h: Make malloc, calloc, realloc, valloc, pvallc,
	__morecore, and __default_morecore with __attribute_malloc__.
	Provide default definition for __attribute_malloc__.
	* libio/stdio.h: Make tempnam with __attribute_malloc__.
1999-12-19 08:08:59 +00:00
Ulrich Drepper
c1422e5b7c Update.
Patch by khendricks@ivey.uwo.ca [libc/1382].
1999-10-09 21:56:43 +00:00
Ulrich Drepper
fbda91b119 Update.
1999-10-04  Ulrich Drepper  <drepper@cygnus.com>

	* include/string.h: Add __memrchr declaration.

	* string/string.h: Moce __memrchr declaration to include/string.h.

1999-10-03  Ulrich Drepper  <drepper@cygnus.com>

	* string/Makefile (routines): Add memrchr.

	* sysdeps/generic/memrchr.c: Don't undef memchr, undef memrchr.
	Correct order of tests for matching bytes.

	* string/tester.c: Add tests for memrchr.

	* sysdeps/i386/i486/bits/string.h (__memrchr): Correct implementation.
	Start from the last character and take decrement not increment
	into account for correction in return line.  Add memrchr alias.
	* sysdeps/i386/bits/string.h: Likewise.
1999-10-04 07:30:05 +00:00
Roland McGrath
ca74785646 1999-10-04 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/generic/memrchr.c: New file, adapted from memchr.c.
	* sysdeps/i386/bits/string.h (__memrchr): New function.
	* string/string.h: Declare memrchr, __memrchr.
	* manual/string.texi (Search Functions): Document memrchr.
1999-10-04 05:13:05 +00:00
Ulrich Drepper
c4563d2d66 Update.
1999-04-28  Ulrich Drepper  <drepper@cygnus.com>

	* argp/argp-ba.c (argp_program_bug_address): Don't initialize with 0.
	* argp/argp-parse.c (_argp_hang): Likewise.
	* argp/argp-pv.c (argp_program_version): Likewise.
	* argp/argp-pvh.c (argp_program_version_hook): Likewise.
	* inet/ether_hton.c (ether_hton, startp): Likewise.
	* inet/ether_ntoh.c (ether_ntoh, startp): Likewise.
	* inet/getnetgrent_r.c (setup, startp): Likewise.
	* intl/loadmsgcat.c (_nl_msg_cat_cntr): Likewise.
	* intl/localealias.c (string_space, string_space_act, string_space_max,
	nmap, maxmap): Likewise.
	* libio/iopopen.c (proc_file_chain): Likewise.
	* libio/oldiopopen.c (old_proc_file_chain): Likewise.
	* locale/lc-collate.c (__collate_table, __collate_extra,
	__collate_element_hash, __collate_element_strings,
	__collate_element_values): Likewise.
	* malloc/mcheck.c (mcheck_used): Likewise.
	* malloc/mtrace.c (added_atexit_handler): Likewise.
	* malloc/set-freeres.c (already_called): Likewise.
	* misc/getpass.c (getpass) [buf, bufsize]: Likewise.
	* misc/syslog.c (LogStat, LogTag): Likewise.
	* nss/XXX-lookup.c (DATABASE_NAME_SYMBOL): Likewise.
	* nss/getXXbyYY_r.c (startp): Likewise.
	* posix/getopt.c (optarg, __getopt_initialized): Likewise.
	* posix/regex.c (init_syntax_once) [done]: Likewise.
	(debug): Likewise.
	* string/strfry.c (init): Likewise.
	* sunrpc/svc_run.c (svc_top): Likewise.
	* posix/euidaccess.c (have_ids): Likewise.
	* sysdeps/unix/sysv/linux/poll.c (must_emulate): Likewise.
	* sysdeps/unix/sysv/linux/ttyname.c (__ttyname, namelen): Likewise.
	* time/getdate.c (getdate_err): Likewise.
	* time/tzfile.c (transitions, type_idxs, types, zone_names, leaps):
	Likewise.
	* time/tzset.c (old_tz, is_initialized): Likewise.

	* inet/getnameinfo.c (nrl_domainname): Rewrite to allow initialization
	of static data with zero.
	* signal/allocrtsig.c (init): Likewise.

	* string/Makefile (routines): Add strchrnul.
	* string/Versions [GLIBC_2.1.1]: Add strchrnul.
	* string/string.c: Add strchrnul prototype.
	* include/string.h: Add __strchrnul prototype.
	* sysdeps/generic/strchrnul.c: New file.
	* sysdeps/i386/strchrnul.S: New file.
	* sysdeps/i386/bits/string.c: Add strchrnul optimization.
	* sysdeps/i386/i486/bits/string.c: Likewise.
	* argp/argp-help.c (argp_args_usage): Use __strchrnul.
	* inet/ether_line.c (ether_line): Likewise.
	* nscd/nscd_conf.c (nscd_parse_file): Likewise.
	* nss/nsswitch.c (nss_parse_file): Likewise.
	* posix/execvp.c (execvp): Likewise.
	* posix/fnmatch.c (internal_fnmatch): Likewise.
	* resolv/res_hconf.c (_res_hconv_init): Likewise.
	* resolv/res_init.c (res_init): Likewise.
	* stdlib/fmtmsg.c (init): Likewise.
	* stdlib/getsubopt.c (getsubopt): Likewise.

	* catgets/catgets.c (catopen): Only allocate one memory block.
	(catclose): Only one free call necessary.

	* catgets/open_catalog.c (__open_catalog): Simplify handling of
	file descriptor.

	* ctype/ctype-extn.c: Make __toascii_l and __isascii_l alias instead
	of real functions.  Simplify _tolower and _toupper.

	* grp/initgroups.c (compat_call): Remove unnecessary use of pointer
	variable.

	* iconv/gconv.h (struct gconv_info): Change data element from pointer
	to array of size 0.
	* iconv/gconv_open.c (__gconv_open): Allocate structures accordingly.
	* iconv/gconv_close.c (__gconv_close): Don't free data.

	* iconv/gconv_conf.c (add_alias): Avoid searching in tree twice to
	insert new alias.

	* iconv/gconv_db.c (add_derivation): More efficient copying.  Check
	for error while inserting in tree.

	* include/time.h: Pretty print.

	* inet/ruserpass.c: Rewrite use of toktab to avoid string pointers
	in table and lots of relocations.
	* posix/regex.c (regerror): Rewrite use of re_error_msgid to avoid
	string pointers in table and lots of relocations.

	* intl/finddomain.c: Remove definition of strchr macro.

	* io/ftw.c (nftw_arr, ftw_arr): Make const.

	* locale/loadlocale.c (_nl_load_locale): Optimize string copying.

	* locale/localeinfo.h (_nl_category_names): Change into an array with
	fixed width char string elements.
	* locale/setlocale.c (_nl_category_names): Likewise.
	(_nl_current): Make global.
	* locale/nl_langinfo.c (nldata): Removed.  Use _nl_current now.

	* malloc/Makefile (distribute): Add stackinfo.h.
	* sysdeps/generic/stackinfo.h: New file.
	* sysdeps/i386/stackinfo.h: New file.
	* posix/execl.c: Use stackinfo.h in optimizing alloca use.
	* posix/execle.c: Likewise.
	* posix/execlp.c: Likewise.

	* nis/nis_table.c (__create_ib_request): Always use realloc.

	* posix/execvp.c (execute): Rename to script_execute and keep only
	code to execute using shell.
	(execvp): Call execv directly and only fall back on script_execute.

	* resolv/inet_net_pton.c (inet_net_pton_ipv4): Remove digits define
	and always use xdigits instead.

	* resolv/res_init.c (res_init): Use rawmemchr instead of strchr
	where appropriate.

	* stdlib/fpioconst.h (__tens): New declaration.
	(struct mp_power): Remove array, add arrayoff element.
	* stdlib/fpioconst.c: Replace definitions of _ten_p* arrays by one
	__tens array and add in _fpioconst_pow10 offsets into __tens.
	* stdio-common/printf_fp.c: Rewrite to use new __tens array.
	* stdlib/strtod.c: Likewise.

	* stdlib/a64l.c (a64l_table): Avoid unnecessary elements.

	* stdlib/exit.c: Rewrite to use __exit_funcs being as sign for end
	of the list.
	* stdlib/atexit.c (__exit_funcs): Don't initialize.

	* stdlib/fmtmsg.c (keywords): Make name element fixed width array.

	* sunrpc/clnt_perr.c: Rewrite clnt_sperrno and auth_errmsg to use
	a single and an array with offsets.

	* sunrpc/des_soft.c (partab): Make it const.

	* sunrpc/key_call.c (trytimeout, tottimeout): Make const.
	(__key_encryptsession_pk_LOCAL): Don't initialize with 0.
	(__key_decryptsession_pk_LOCAL): Likewise.
	(__key_gendes_LOCAL): Likewise.
	(MESSENGER): Mark const.
	(key_call_private_main): Don't initialize with 0.
	(use_keyenvoy): Don't initialize with 0.
	(key_call): Rewrite to reverse logic of use_doors variable.

	* sunrpc/netname.c (OPSYS): Define as array, not pointer.
	(startp): Don't initialize with zero.

	* sunrpc/openchild.c (_openchild): Make first argument const.

	* sunrpc/pmap_rmt.c (timeout): Mark const.
	* sunrpc/xcrypt.c (hex): Likewise.

	* sysdeps/unix/sysv/linux/getcwd.c: Rewrite to allow omitting
	initialization of global variables.
	* sysdeps/unix/sysv/linux/getpt.c: Likewise.
	* sysdeps/unix/sysv/linux/if_index.c: Likewise.
	* termios/tcgetsid.c: Likewise.

	* sysdeps/unix/sysv/linux/i386/dl-procinfo.h (x86_cap_flags): Change
	fxsr to osfxsr.

	* time/tzfile.c (__tzfile_read): Rewrite to allocate only one memory
	block.  Add function to free memory if wanted.
	* time/tzset.c (tzset_internal): Pass extra argument to __tzfile_read.

	* wcsmbs/wcsmbsload.c (to_wc, to_mb): Correct initializers.

	* wcsmbs/wmemset.c: Little code optimization.
1999-04-28 23:13:52 +00:00
Ulrich Drepper
482eec0d11 Update.
1999-01-16  Ulrich Drepper  <drepper@cygnus.com>

	* elf/Makefile (tests): Add loadtest.
	Add rules to generate test modules.
	* Makeconfig (+link): Add $(LDFLAGS-$(@F)) to command line.
	* elf/loadtest.c: New file.
	* elf/testobj1.c: New file.
	* elf/testobj2.c: New file.
	* elf/testobj3.c: New file.

	* elf/dl-close.c: Correct removing module from global list.

	* elf/dl-open.c: Add debugging code.

	* include/string.h: Add __rawmemchr prototype.
	* string/Makefile (routines): Add rawmemchr.
	* string/Versions [GLIBC_2.1]: Add __rawmemchr and rawmemchr.
	* string/string.h: Add prototype for rawmemchr.
	* string/bits/string2.h: Optimize strchr with rawmemchr.
	* sysdeps/generic/rawmemchr.c: New file.
	* sysdeps/i386/rawmemchr.c: New file.
	* sysdeps/i386/i486/bits/string.h: Add rawmemchr inline code.
	Optimize strchr with rawmemchr.

	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define _LFS_LARGEFILE,
	_LFS64_LARGEFILE, and _LFS64_STDIO for Unix98.

1999-01-14  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* nis/nis_error.c (nis_errlist): Fix capitilasation.
1999-01-16 17:09:04 +00:00
Ulrich Drepper
5c2a0669c1 Update.
1998-12-08  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* posix/regex.c: Get regex.h from system path, not from local
	directory.

	* posix/regex.h: Move internal interfaces to ...
	* include/regex.h: ...here.

	* posix/unistd.h: Move internal interfaces to ...
	* include/unistd.h: ...here.

	* math/math.h: Move internal interfaces to ...
	* include/math.h: ...here.

	* posix/glob.h: Move internal interfaces to ...
	* include/glob.h: ...here.

	* string/string.h: Move internal interfaces to ...
	* include/string.h: ...here.

	* time/sys/time.h: Move internal interfaces to ...
	* include/sys/time.h: ...here.

	* resolv/netdb.h: Move internal interfaces to ...
	* include/netdb.h: ...here.

1998-12-08  Ulrich Drepper  <drepper@cygnus.com>

	* iconvdata/eucjp.c: Handle Yen in overscore conversion from ISO 10646
	correctly.
	* iconvdata/iso-2022-jp.c: Handle Kana in 2022-JP2 correctly
	Fix various bugs in conversion routine.
	* iconvdata/jis0201.h: Correct variable name.
	* iconvdata/jis0208.c: Correct script to generate tables and regenerate
	them.
	* iconvdata/jis0208.h: Likewise.
	* iconvdata/jis0212.c: Likewise.
	* iconvdata/sjis.c: Likewise.
	Patch by HANATAKA Shinya <hanataka@abyss.rim.or.jp>.
1998-12-08 13:12:47 +00:00
Ulrich Drepper
a6ff34d7b0 Update.
1998-12-04  Ulrich Drepper  <drepper@cygnus.com>

	* argp/argp.h: Add __retrict.
	* dirent/dirent.h: Likewise.
	* elf/dlfcn.h: Likewise.
	* grp/grp.h: Likewise.
	* iconv/iconv.h: Likewise.
	* inet/aliases.h: Likewise.
	* libio/libio.h: Likewise.
	* libio/stdio.h: Likewise.
	* locale/locale.h: Likewise.
	* misc/mntent.h: Likewise.
	* posix/wordexp.h: Likewise.
	* pwd/pwd.h: Likewise.
	* resolv/netdb.h: Likewise.
	* rt/aio.h: Likewise.
	* stdio-common/printf.h: Likewise.
	* stdlib/monetary.h: Likewise.
	* stdlib/stdlib.h: Likewise.
	* string/argz.h: Likewise.
	* string/envz.h: Likewise.
	* string/string.h: Likewise.
	* time/time.h: Likewise.

1998-12-04  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* misc/sys/cdefs.h: Only include features.h if _FEATURES_H isn't
	defined.  gcc's redundant include optimizer isn't clever enough to
	prevent a reinclusion here.
	Define __restrict to the empty string only if not GCC or
	GCC version less than 2.92.

1998-12-03  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/configure.in: Fix last change.

1998-12-03  Mark Kettenis  <kettenis@phys.uva.nl>

	* time/strptime.c (strptime_internal): Make use of `%C' format
	specifier if it is seen together with the `%y' specifier.

1998-12-04  Ulrich Drepper  <drepper@cygnus.com>

	* po/sk.po: New file.

1998-12-03  Scott Bambrough  <scottb@corelcomputer.com>

	* sysdeps/arm/dl-machine.h (dl_start_user): Incorrect address
	for _dl_main_searchlist passed to _dl_init_next.

1998-12-02  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* math/libm-test.c: Expand literal tabs in strings.  Normalize
	whitespace.

1998-12-02  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/sys/fsuid.h: Fix spelling.
1998-12-04 20:58:15 +00:00
Ulrich Drepper
7782d0bf55 Update.
* sys/types.h: Protect use of long long by __extension__.
	* stdlib/stdlib.h: Likewise.
	* string/string.h: Likewise.
	* sysdeps/i386/bits/byteswap.h: Likewise.
	* sysdeps/geeric/bits/byteswap.h: Likewise.
	* sysdeps/i386/fpu/bits/mathinline.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/types.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/types.h: Likewise.
	* sysdeps/wordsize-32/inttypes.h: Likewise.
	* sysdeps/wordsize-32/stdint.h: Likewise.
	* wcsmbs/wchar.h: Likewise.
1998-10-01 11:00:26 +00:00
Ulrich Drepper
bdbf022df8 Update.
1998-08-09 09:40  Ulrich Drepper  <drepper@cygnus.com>

	* nss/nss_files/files-XXX.c (internal_getent): In case of an read
	error do not trust errno value, set it to ENOENT.

	* db2/db_185.h: Move __ prototypes into include/* header.
	* dirent/dirent.h: Likewise.
	* elf/dlfcn.h: Likewise.
	* gmon/sys/gmon.h: Likewise.
	* grp/grp.h: Likewise.
	* intl/libintl.h: Likewise.
	* io/fcntl.h: Likewise.
	* io/sys/stat.h: Likewise.
	* io/sys/statfs.h: Likewise.
	* io/sys/statvfs.h: Likewise.
	* libio/stdio.h: Likewise.
	* login/utmp.h: Likewise.
	* misc/mntent.h: Likewise.
	* misc/search.h: Likewise.
	* misc/sys/file.h: Likewise.
	* misc/sys/ioctl.h: Likewise.
	* misc/sys/select.h: Likewise.
	* misc/sys/uio.h: Likewise.
	* misc/sys/ustat.h: Likewise.
	* posix/unistd.h: Likewise.
	* posix/sys/times.h: Likewise.
	* posix/sys/wait.h: Likewise.
	* pwd/pwd.h: Likewise.
	* resource/ulimit.h: Likewise.
	* resource/sys/resource.h: Likewise.
	* setjmp/setjmp.h: Likewise.
	* shadow/shadow.h: Likewise.
	* signal/signal.h: Likewise.
	* socket/sys/socket.h: Likewise.
	* stdlib/alloca.h: Likewise.
	* stdlib/stdlib.h: Likewise.
	* string/string.h: Likewise.
	* sysdeps/generic/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/osf/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/ultrix4/sys/mman.h: Likewise.
	* sysdeps/unix/sysv/irix4/sys/mman.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/sched.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/mman.h: Likewise.
	* termios/termios.h: Likewise.
	* time/time.h: Likewise.
	* time/sys/time.h: Likewise.
	* wcsmbs/wchar.h: Likewise.

	* include/alloca.h: Add __ prototypes here.
	* include/db_185.h: Likewise.
	* include/dirent.h: Likewise.
	* include/dlfcn.h: Likewise.
	* include/fcntl.h: Likewise.
	* include/grp.h: Likewise.
	* include/libintl.h: Likewise.
	* include/mntent.h: Likewise.
	* include/pwd.h: Likewise.
	* include/sched.h: Likewise.
	* include/search.h: Likewise.
	* include/setjmp.h: Likewise.
	* include/shadow.h: Likewise.
	* include/signal.h: Likewise.
	* include/stdio.h: Likewise.
	* include/stdlib.h: Likewise.
	* include/string.h: Likewise.
	* include/termios.h: Likewise.
	* include/time.h: Likewise.
	* include/ulimit.h: Likewise.
	* include/unistd.h: Likewise.
	* include/utmp.h: Likewise.
	* include/wchar.h: Likewise.
	* include/sys/file.h: Likewise.
	* include/sys/gmon.h: Likewise.
	* include/sys/ioctl.h: Likewise.
	* include/sys/mman.h: Likewise.
	* include/sys/resource.h: Likewise.
	* include/sys/select.h: Likewise.
	* include/sys/socket.h: Likewise.
	* include/sys/stat.h: Likewise.
	* include/sys/statfs.h: Likewise.
	* include/sys/time.h: Likewise.
	* include/sys/times.h: Likewise.
	* include/sys/uio.h: Likewise.
	* include/sys/wait.h: Likewise.

	* Makeconfig (+includes): Search in $(..)include first.

	* io/fstat.c: Undefine __fstat.
	* io/lstat.c: Undefine __lstat.

	* wcsmbs/Versions: Add __mbrlen.
1998-08-09 17:39:48 +00:00
Ulrich Drepper
bdd421cc6d Update.
1998-07-30 12:38  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/i386/ffs.c: Add ffsl entry point.
	* sysdeps/i386/i686/ffs.c: Likewise.
	* sysdeps/m68k/ffs.c: Likewise.
	* sysdeps/powerpc/ffs.c: Likewise.

	* sysdeps/i386/i486/bits/string.h: Add optimizations for ffs/ffsl
	on i686.

1998-07-30  Richard Henderson  <rth@cygnus.com>

	* elf/Makefile (ld-map): Move initialization below Makeconfig include.

	* sysdeps/libm-ieee754/k_standard.c (zero): Make non-const to
	work around gcc bug.

	* string/string.h (ffsl, ffsll): Prototype.
	* string/Version (GLIBC_2.1): Add them.
	* sysdeps/alpha/ffs.S: Schedule for EV5.  Add ffsl and ffsll
	entry points.
	* sysdeps/alpha/ffsll.S: New file.  Empty.
	* sysdeps/generic/ffs.c: Add ffsl and ffsll entry points.
	* sysdeps/generic/ffsll.c: New file.
	* string/Makefile (routines): Add ffsll.

1998-07-30 10:03  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/alpha/bits/time.h: Don't define CLK_TCK for
	strictly ISO C compliant programs.
	* sysdeps/unix/sysv/linux/mips/bits/time.h: Likewise.

1998-07-22  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* inet/protocols/rwhod.h: Correct typo in comment.

	* configure.in: Use better regex for gettext.
1998-07-30 12:47:25 +00:00
Ulrich Drepper
cc60175e8c Update.
1998-07-23  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/generic/glob.c: Fix two problems with GLOB_DOOFFS.
	Reported by bwelling@anomaly.munge.com [PR libc/720].

	* sysdeps/libm-ieee754/k_standard.c: Return NAN for libm not in
	SVID more for gamma(x) with x interger <= 0.
	Reported by Stephen L Moshier <moshier@mediaone.net>.

	* math/libm-test.c (gamma_test): Add test for gamma(-1) and gamma(0).
	Correct test for SVID version of gamma.

	* sysdeps/libm-ieee754/w_gamma.c: Use correct matherr call in SVID
	emulation mode.
	* sysdeps/libm-ieee754/w_gammaf.c: Likewise.
	* sysdeps/libm-ieee754/w_gammal.c: Likewise.

	* string/string.h: Don't use string function optimization for C++
	as long as we use macros.
1998-07-23 14:59:16 +00:00
Ulrich Drepper
847a35a07b Update.
* string/string.h: Don't use the optimized versions for the string
	functions if optimizing for space.
1998-05-13 17:15:27 +00:00
Ulrich Drepper
4b8f94d33f Update.
1998-04-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* iconvdata/Makefile ($(objpfx)iconv-test.out): Use this as target
	instead of do-iconv-test.
	($(objpfx)gconv-modules): Define rule only if objpfx is not
	empty.

1998-04-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* string/string.h: Fix feature test.

1998-04-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* iconvdata/iso646.c (BODY): Don't use character constants that
	depend on signedness of char.
1998-04-28 09:57:10 +00:00
Ulrich Drepper
4bca4c1748 Update.
1998-04-07 08:51  Ulrich Drepper  <drepper@cygnus.com>

	* iconv/gconv.c: Take care for NULL arguments.
	* iconv/gconv_dl.c: Make find_func function global.
	* iconv/gconv_int.h: Add prototype for __gconv_find_func.
	Add prototypes for ASCII conversion functions.
	* iconv/gconv_simple.c: Add ASCII conversion functions.
	* locale/C-ctype.c: Correct charset name.

	* wcsmbs/Makefile (distribute): Add wcsmbsload.h.
	(routines): Remove wmemrtowcs and wmemrtombs, add wcsnlen and
	wcsmbsload.
	* wcsmbs/btowc.c: Rewrite to use iconv functionality.
	* wcsmbs/mbrtowc.c: Likewise.
	* wcsmbs/mbsnrtowcs.c: Likewise.
	* wcsmbs/mbsrtowcs.c: Likewise.
	* wcsmbs/wcrtomb.c: Likewise.
	* wcsmbs/wcsnrtombs.c: Likewise.
	* wcsmbs/wcsrtombs.c: Likewise.
	* wcsmbs/wctob.c: Likewise.
	* wcsmbs/wchar.h: Add prototype for __wcslen, wcsnlen.  Remove
	prototypes for wmemr*.
	* wcsmbs/wcslen.c: Rename to __wcslen and make wcslen weak alias.
	* wcsmbs/wcsnlen.c: New file.
	* wcsmbs/wcsmbsload.c: New file.
	* wcsmbs/wcsmbsload.h: New file.

	* manual/filesys.texi: Mention risks of tmpnam and mktemp.

	* manual/install.texi: Describe some more critical points.

	* string/string.h: Add prototype for __strnlen.
	* string/strnlen.c: Rename to __strnlen and make strnlen weak alias.

	* sysdeps/posix/mktemp.c: Rewrite to allow many more files and
	much less predictable names.
	* sysdeps/posix/mkstemp.c: Likewise.

1998-04-05  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* manual/libc.texinfo (Top): Change "file namespace" to "local
	namespace".

	* manual/socket.texi: Change file namespace to local namespace.
	(Out-of-Band Data): Remove unneeded variable link.
	(Host Address Functions): Use uint32_t consequently and add a
	number of clarifications for IPv4/IPv6, classless addresses.
	(Internet Namespace): Added some paragraphs about IPv6.
	Based on suggestions by Francesco Potorti` <F.Potorti@cnuce.cnr.it>.

1998-04-05  Philip Blundell  <Philip.Blundell@pobox.com>

	Update for draft-ietf-ipngwg-bsd-api-new-01.txt:

	* resolv/netdb.h (getnameinfo): Use `socklen_t' not `size_t'.
	(NI_NUMERICHOST, et al.): Tidy up and add comments.
	(AI_NUMERICHOST): Define.
	(getnodebyname): New prototype.
	(AI_V4MAPPED, et al.): New constants.

	* sysdeps/unix/bsd/bsd4.4/bits/sockaddr.h (SA_LEN): New macro.<
	* sysdeps/generic/bits/sockaddr.h (SA_LEN): Likewise.
	* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add sa_len
	for socket.
	* sysdeps/unix/sysv/linux/sa_len.c: New file.
	* sysdeps/unix/sysv/linux/Dist: Add sa_len.c.

	* sysdeps/unix/sysv/linux/bits/socket.h: Make multiple #inclusion safe.

	* sysdeps/generic/bits/sockunion.h: New file, defining sockaddr_union.
	* sysdeps/unix/sysv/linux/bits/sockunion.h: Likewise.
	* socket/Makefile (headers): Add bits/sockunion.h.
	* socket/sys/socket.h: Include <bits/sockunion.h>
	* inet/netinet/in.h: Include <bits/sockaddr.h> rather than
	<sys/socket.h>, to avoid getting sockaddr_union defined.
	* sysdeps/generic/bits/socket.h: Allow inclusion from netinet.in.h.
	* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/socket.h: Likewise.

	* sysdeps/unix/sysv/linux/if_index.c: Remove use of SIOCGIFCOUNT
	(2.2.x kernels won't have it).

1998-04-06 21:21  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/mach/hurd/bits/ioctls.h: Allow inclusion from hurd/ioctl.h.
	* sysdeps/mach/hurd/dl-sysdep.c: Use __ptr_t not caddr_t.
	* iconv/gconv_conf.c: Define MAXPATHLEN if not available before.
	Patches by UCHIYAMA Yasushi <uch@nop.or.jp>.

1998-04-05  Philip Blundell  <Philip.Blundell@pobox.com>

	* manual/socket.texi (Socket Addresses): Fix a typo.
	(Interface Naming): New section.

1998-04-05 23:29  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* configure.in: Check for CC using $ac_tool_prefix, to handle
	cross-compilation.  Use AC_CHECK_TOOL to find MiG.
	* config.make.in: Add MIG to be substituted.
	* mach/Machrules: Don't define MIG variable.

	Patch by Gordon Matzigkeit <gord@profitpress.com>.

1998-04-05  Mark Kettenis  <kettenis@phys.uva.nl>

	* elf/dl-load.c (decompose_rpath): Use local_strdup instead of
	strdupa to copy rpath.

1998-04-05  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* configure.in: Fix gcc version check.

	* aclocal.m4 (AC_PROG_CHECK_VER): Rewritten to make less confusing.

1998-04-05  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* configure.in: Fix gcc version check.

	* aclocal.m4 (AC_PROG_CHECK_VER): Rewritten to make less
	confusing.

1998-04-05  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* configure.in: Fix gcc version check.

	* aclocal.m4 (AC_PROG_CHECK_VER): Rewritten to make less
	confusing.

1998-03-31  Mark Kettenis  <kettenis@phys.uva.nl>

	* sysdeps/unix/bsd/unlockpt.c (unlockpt): Call __ptsname_r instead
	of ptsname_r.

	* stdlib/stdlib.h: Change prototype of ptsname_r to make it more
	like ttyname_r.
	* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Likewise.
	* sysdeps/generic/ptsname.c (__ptsname_r): Likewise.
	* sysdeps/unix/grantpt.c (grantpt): Change check of return value
	of __ptsname_r accordingly.
	* login/openpty.c (openpty): Likewise.

1998-06-04 18:47  H.J. Lu  <hjl@gnu.org>

	* libio/fileops.c (_IO_file_xsgetn): Adjust pointers.

1998-04-06 13:58  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makeconfig (libtypes): Redo H.J. Lu's change of 1998-03-27.

	* Makerules: Readd missing rule for $(objpfx)stamp.oS.

1998-04-06  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/ypclnt.c: Don't give YPERR_RPC back, use the do_ypcall
	return value for better error checking.
1998-04-07 09:21:28 +00:00
Ulrich Drepper
89a9e37b7a Update.
1998-03-20 11:58  Ulrich Drepper  <drepper@cygnus.com>

	* dirent/Makefile (routines): Add scandir64, alphasort64, and
	versionsort64.
	* dirent/alphasort64.c: New file.
	* dirent/scandir64.c: New file.
	* dirent/versionsort64.c: New file.
	* dirent/dirent.h: Add LFS support for scandir, alphasort, and
	versionsort.
	* sysdeps/generic/readdir64.c: Rename to __readdir64 and make
	old name weak alias.
	* sysdeps/unix/sysv/linux/readdir64.c: Likewise.

	* dirent/alphasort.c: Use strcoll instead of strcmp.

	* dirent/scandir.c: Optimize a bit.

	* dirent/versionsort.c: Pretty print.

1998-03-20  Ulrich Drepper  <drepper@cygnus.com>

	* string/string.h: Add prototype for __strtok_r.
1998-03-20 12:06:55 +00:00
Ulrich Drepper
19212f875d Update.
1998-03-09 08:21  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/chown.c: Moved to ...
	* sysdeps/unix/sysv/linux/i386/chown.c: ...here.

	* sysdeps/unix/sysv/linux/i386/chown.c: Correct versioning information.
	* libc.map: Add chown to GLIBC_2.1.
	* sysdeps/unix/sysv/linux/i386/syscalls.list: Add s_chown here.
	* sysdeps/unix/sysv/linux/syscalls.list: Remove s_chown here.

1998-03-06  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/generic/ffs.S: Rename function to __ffs and make ffs a
	weak alias.
	* sysdeps/alpha/ffs.c: Likewise.
	* sysdeps/am29k/ffs.c: Likewise.
	* sysdeps/i386/ffs.c: Likewise.
	* sysdeps/i960/ffs.c: Likewise.
	* sysdeps/m68k/ffs.c: Likewise.
	* sysdeps/m88k/ffs.c: Likewise.
	* sysdeps/powerpc/ffs.c: Likewise.
	* sysdeps/rs6000/ffs.c: Likewise.
	* sysdeps/vax/ffs.s: Likewise.
	* string/string.h: Declare __ffs.
	* libc.map: Export it.
	* elf/dl-profile.c (_dl_start_profile): Use __ffs instead of
	__builtin_ffs, which is not guaranteed to be namespace clean.

1998-03-06  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/sprof.c: Rewrite symbol handling to use the normal symbol
	table, which is much more likely to exist than debugging symbols.
	(printsym): Remove const.
	(load_shobj): Don't use _dl_pagesize.  Fix mapping of section
	header table.

	* libc.map: Export __profile_frequency, used by elf/sprof, to
	avoid infinite recursion during startup.

1998-03-09 12:16  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1998-03-09 09:11:57 +00:00
Ulrich Drepper
9756dfe161 Update.
1997-12-22 18:10  Ulrich Drepper  <drepper@cygnus.com>

	* configure.in: Stop with error if --disable-static is used when
	the shared lib uses this library.

	* gen-FAQ.pl: I've perl installed in /usr/bin.

	* include/bits/xopen_lim.h (STREAM_MAX): Define using FOPEN_MAX.

	Fix Unix98 conformance problems in the headers.
	* catgets/nl_types.h: Define nl_item.
	* grp/grp.h: Define gid_t.
	* include/features.h [_POSIX_C_SOURCE]: Don't define _XOPEN_SOURCE.
	* include/nl_types.h: New file.
	* include/ulimit.h: New file.
	* io/fcntl.h: Include sys/stat.h for Unix98.  Don't define locking
	constants in POSIX mode.
	* io/utime.h: Get definition for time_t.
	* io/sys/stat.h: Define dev_t, gid_t, ino_t, mode_t, nlink_t, off_t,
	uid_t, pid_t.  Define D_IFLNK and S_IFSOCK only if !__USE_UNIX98.
	* libio/stdio.h: Define va_list.  Make snprintf also available is
	__USE_UNIX98.  Declare getopt function and variables.
	* locale/langinfo.h: Include nl_types.h.  Don't define nl_item.
	Define CODESET, CRNCYSTR, RADIXCHAR and THOUSEP as aliases.
	* math/math.h: Defined M_* constants as double for Unix98 mode.
	* posix/fnmatch.h: Pretty print.  Define FNM_NOSYS.
	* posix/glob.h: Pretty print.  Define GLOB_NOSYS.
	* posix/regex.h: Define REG_NOSYS.
	* posix/wordexp.h: Define WRDE_NOSYS.
	* posix/unistd.h: Define _POSIX2_VERSION.  Define _XOPEN_VERSION to
	500 for Unix98.
	* posix/sys/types.h: Alloc dev_t, mode_t, nlink_t to be defined
	somewhere else as well.  Define clock_t for Unix98.
	* posix/sys/wait.h: Define pid_t.
	* pwd/pwd.h: Define gid_t, uid_t.
	* resource/Makefile (headers): Add ulimit.h.
	* resource/ulimit.h: New file.
	* sysdeps/generic/ulimit.c: Define according to X/Open using varargs
	instead of second argument.
	* sysdeps/unix/bsd/ulimit.c: Likewise.  Use UL_* constants.
	* sysdeps/unix/sysv/linux/ulimit.c: Likewise.
	* resource/sys/resource.h: Don't declare ulimit here, include ulimit.h.
	* signal/signal.h: Define pid_t.
	* string/string.h: Don't declare BSD string functions in POSIX mode.
	* sysdeps/generic/bits/confname.h: Define _PC_VDISABLE.  Add
	_SC_XOPEN_LEGACY, _SC_XOPEN_REALTIME and _SC_XOPEN_REALTIME_THREADS.
	* sysdeps/unix/sysv/linux/bits/termios.h: Clean namespace for Unix98
	and POSIX.

	* inet/test_ifindex.c: Change test so that it does not fail for
	interface aliases.

	* locale/programs/locale.c (show_info): Use correct cast sequence
	for 64bit machines.

	* malloc/malloc.c: __malloc_initialized now signals three states:
	uninitialized, initializing, initialized.  Used in mcheck.
	* malloc/mcheck.c (mabort): Add '\n' to messages.
	(mcheck): Allow installation when malloc is uninitialized or is
	just initializing.

	* manual/memory.texi: Explain mtrace output a bit more.

	* math/libm-test.c: Add more epsilons.

	* misc/regexp.h (compile): Remove __ prefix from parameter names.

	* nis/nss_nis/nis-ethers.c (internal_nis_getetherent_r): Use strncpy
	instead of strcpy for security.
	* nis/nss_nis/nis-proto.c (internal_nis_getprotoent_r): Likewise.
	* nis/nss_nis/nis-rpc.c (internal_nis_getrpcent_r): Likewise.
	* nis/nss_nis/nis-service.c (internal_nis_getservent_r): Likewise.

	* nss/digits_dots.c: Pretty print.

	* posix/getconf.c (vars): Add symbols for programming environment
	recognition.  Recognize --version.

	* sysdeps/generic/sysconf.c: Handle _SC_XBS5_*, _SC_XOPEN_LEGACY,
	_SC_XOPEN_REALTIME, and _SC_XOPEN_REALTIME_THREADS.
	* sysdeps/posix/sysconf.c: Handle _SC_XBS5_* and new _XOPEN_* symbols.

	* sysdeps/generic/bits/stdio_lim.h: Implement handling of
	__need_FOPEN_MAX.
	* sysdeps/unix/sysv/linux/stdio_lim.h.in: Likewise.
	* sysdeps/posix/mk-stdiolim.c: Change to generate file handling
	__need_FOPEN_MAX.

	* sysdeps/unix/sysv/linux/Dist: Add rt_sigpending.c.
	* sysdeps/unix/sysv/linux/rt_sigpending.c: New file.

	* sysdeps/unix/sysv/linux/alpha/bits/types.h: Define __ipc_pid_t.
	* sysdeps/unix/sysv/linux/bits/types.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/msq.h: Use __ipc_pid_t.
	* sysdeps/unix/sysv/linux/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/types.h: New file.

	* sysdeps/wordsize-32/inttypes.h: Add SCNd8, SCNi8, SCNo8, SCNx8,
	SCNu*.
	* sysdeps/wordsize-64/inttypes.h: Likewise.

	* time/africa: Update from tzdata1997j.
	* time/antarctica: Likewise.
	* time/asia: Likewise.
	* time/australasia: Likewise.
	* time/backward: Likewise.
	* time/etcetera: Likewise.
	* time/europe: Likewise.
	* time/factory: Likewise.
	* time/northamerica: Likewise.
	* time/pacificnew: Likewise.
	* time/southamerica: Likewise.

	* time/tzfile.h: Update from tzcode1997h.
	* time/zic.c: Likewise.

	* wcsmbs/wchar.h: Get definition of FILE.  Define `struct tm' tag.
	Declare wcwidth and wcswidth for __USE_XOPEN.  Declare the
	isw*() functions for Unix98.
	* wctype/towctrans.c: Define as __towctrans, make towctrans weak alias.
	* wctype/wctype.h: Declare isw*() functions also if __need_iswxxx
	is defined.

1997-12-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* locale/duplocale.c: Increase usage_count only if less than
	MAX_USAGE_COUNT.
	* locale/freelocale.c: Test usage_count against UNDELETABLE, not
	MAX_USAGE_COUNT.
	* locale/setlocale.c: Likewise.

1997-12-20  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makefile ($(inst_includedir)/gnu/stubs.h): Use a more direct
	dependency to make it easier to install it selectively.

	* Makerules (.SUFFIXES): Don't define any suffixes.

1997-12-20  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/generic/fstatfs64.c: Emulate using fstatfs.
	* sysdeps/generic/statfs64.c: Emulate using statfs.
	* sysdeps/generic/getrlimit64.c: Emulate using getrlimit.
	* sysdeps/generic/setrlimit64.c: Emulate using setrlimit.
	* sysdpes/generic/ftruncate64.c: New file.
	* sysdpes/generic/truncate64.c: New file.

	* sysdeps/generic/bits/stat.h: Add LFS support.
	* sysdeps/generic/bits/statfs.h: Likewise.

	* sysdeps/unix/bsd/sun/sunos4/bits/resource.h (RLIM_INFINITY)
	[__USE_FILE_OFFSET64]: Make long long constant.
	(RLIM64_INFINITY): Likewise.

	* sysdeps/unix/sysv/linux/bits/resource.h (RLIM_INFINITY): Correct
	for LFS support.
	(RLIM64_INFINITY) [__USE_LARGEFILE64]: Define.
	* sysdeps/generic/bits/resource.h: Likewise.

	* misc/Makefile (routines): Add truncate64 and ftruncate64.

	* include/features.h: Don't prevent LFS support from defining BSD
	and SYSV things.

	* dirent/dirent.h [__USE_FILE_OFFSET64]: Don't use xxx64 names.
	* io/ftw.h [__USE_FILE_OFFSET64]: Likewise.
	* io/sys/stat.h [__USE_FILE_OFFSET64]: Likewise.

	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add xxx64 alias for
	fstatfs, statfs, getrlimit, setrlimit, ftruncate and truncate.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.

	* sysdeps/unix/sysv/linux/alpha/fstatfs64.c: New file.
	* sysdeps/unix/sysv/linux/alpha/statfs64.c: New file.
	* sysdeps/unix/sysv/linux/alpha/getrlimit64.c: New file.
	* sysdeps/unix/sysv/linux/alpha/setrlimit64.c: New file.
	* sysdeps/unix/sysv/linux/alpha/ftruncate64.c: New file.
	* sysdeps/unix/sysv/linux/alpha/truncate64.c: New file.
	* sysdeps/unix/sysv/linux/alpha/readdir.c: New file.
	* sysdeps/unix/sysv/linux/alpha/readdir64.c: New file.
	* sysdeps/unix/sysv/linux/alpha/readdir64_r.c: New file.
	* sysdeps/unix/sysv/linux/alpha/readdir_r.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/fstatfs64.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/statfs64.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/getrlimit64.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/setrlimit64.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/ftruncate64.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/truncate64.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/readdir64.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/readdir64_r.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/readdir_r.c: New file.

	* sysdeps/unix/sysv/linux/fxstat64.c: New file.
	* sysdeps/unix/sysv/linux/lxstat64.c: New file.
	* sysdeps/unix/sysv/linux/xstat64.c: New file.
	* sysdeps/unix/sysv/linux/readdir64.c: New file.
	* sysdeps/unix/sysv/linux/readdir64_r.c: New file.

	* sysdeps/unix/sysv/linux/getdents64.c: New file.
	* sysdeps/unix/sysv/linux/Makefile (sysdep_routines)
	[$(subdir)=dirent]: Add getdents64.
	* sysdeps/unix/sysv/linux/Dist: Add getdents64.c.

	* sysdeps/unix/sysv/linux/xstatconv.c: LFS support.

1997-12-18 12:07  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/generic/bits/statfs.h (struct statfs64): Added.

	* sysdeps/generic/getrlimit.c: Include <sys/types.h>.
	* sysdeps/generic/getrlimit64.c: Likewise.
	* sysdeps/generic/setrlimit.c: Likewise.
	* sysdeps/generic/setrlimit64.c: Likewise.

1997-12-17 13:57  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/unix/sysv/linux/siglist.c: Fix compile problem if not
	using versioning.

	* sysdeps/generic/waitid.c: Include <sys/types.h> for id_t.

	* sysdeps/standalone/arm/bits/errno.h (EBUSY): Added.

1997-12-16  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* locale/programs/ld-ctype.c (ctype_output): Clear out the padding
	after the codeset name.

1997-12-16  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* libc.map: Add get_kernel_syms.

1997-12-16  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/generic/testrtsig.h (kernel_has_rtsig): Make
	static.
	* sysdeps/unix/sysv/linux/testrtsig.h (kernel_has_rtsig):
	Likewise.  Fix condition.

1997-12-16  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* libio/Makefile (routines) [$(versioning)=yes]: Add oldiofdopen.

1997-12-15  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/m68k/fpu/bits/mathinline.h: Don't define exp2 inline.
	Define scalbln{,f,l} under __USE_ISOC9X, not __USE_MISC.

1997-12-15  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/powerpc/syscall.S: Put back.
	* sysdeps/unix/sysv/linux/powerpc/sigreturn.S: Delete this
	instead.  Oops.

1997-12-16  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* configure.in (libc_cv_gcc_alpha_ng_prefix): Correct quoting.

1997-12-16  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* math/libm-test.c (catanh_test): Change epsilon.
	Reported by H.J. Lu.

1997-12-14 19:39  H.J. Lu  <hjl@gnu.org>

	* libc.map (__getpid): Added for linuxthreads.

1997-12-13 21:09  H.J. Lu  <hjl@gnu.org>

	* configure.in (HAVE_DWARF2_UNWIND_INFO_STATIC): Define
	it if gcc uses static variable in DWARF2 unwind information
	for exception support.

	* config.h.in (HAVE_DWARF2_UNWIND_INFO_STATIC): New.

	* elf/soinit.c (__libc_global_ctors, _fini): Handle
	HAVE_DWARF2_UNWIND_INFO_STATIC.

	* libc.map (__register_frame*, __deregister_frame*): Make them
	global.

1997-12-15  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* math/libm-test.c: Add more tests for "normal" values.

1997-12-13  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* stdio-common/printf_fphex.c: Fix printing of long double number
	with a biased exponent of zero.  Fix rounding.

1997-12-13  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sunrpc/rpc_main.c: Accept new flag -$.
	* sunrpc/Makefile (rpcgen-cmd): Pass it here.

1997-12-13  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makefile ($(inst_slibdir)/libc-$(version).so): Install the
	dynamic linker first, in case the interface has changed.

1997-12-13  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* nss/nss_files/files-alias.c (get_next_alias): Fix parameter
	order.

1997-12-12  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* math/tgmath.h: Check for double first, for architectures where
	sizeof (long double) == sizeof (double).

1997-12-07  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* math/libm-test.c: New tests for "normal" values added for most
	functions.
1997-12-22 20:53:38 +00:00