* 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.
(__sched_setaffinity_new): If syscall was successful and
RESET_VGETCPU_CACHE is defined, use it before returning.
* sysdeps/unix/sysv/linux/x86_64/sched_setaffinity.c: New file.
define fstatat to fstatat64.
(fstatat64): Only provide prototype if __USE_LARGEFILE64,
similarly with the inline.
* io/fcntl.h (openat64): Only provide prototype if __USE_LARGEFILE64.
epoll_wait): Align with poll, make cancelable.
2005-11-15 Jakub Jelinek <jakub@redhat.com>
* io/sys/stat.h (fstatat): Don't use __THROW together with
__REDIRECT_NTH.
fchownat, and unlinkat.
(static-only-routines): Add fstatat and fstatat64.
(tests): Add tst-unlinkat, tst-fstatat, tst-futimesat, tst-renameat,
and tst-fchownat.
* io/Versions [GLIBC_2.4]: Add fchownat, __fxstatat, __fxstatat64,
and unlinkat.
* io/fcntl.h: Define AT_FDCWD, AT_SYMLINK_NOFOLLOW, and AT_REMOVEDIR.
* io/fstatat.c: New file.
* io/fstatat64.c: New file.
* io/sys/stat.h: Declare fstatat, fstatat64, __fxstatat, __fxstatat64
and define fstatat and fstatat64 inline functions.
* libio/stdio.h: Declare renameat.
* misc/Makefile (routines): Add futimesat.
* misc/Versions [GLIBC_2.4]: Add futimesat.
* posix/unistd.h: Declare fchownat and unlinkat.
* stdio-common/Makefile (routines): Add renameat.
* stdio-common/Versions [GLIBC_2.4]: Add renameat.
* sysdeps/generic/fchownat.c: New file.
* sysdeps/generic/futimesat.c: New file.
* sysdeps/generic/fxstatat.c: New file.
* sysdeps/generic/fxstatat64.c: New file.
* sysdeps/generic/renameat.c: New file.
* sysdeps/generic/unlinkat.c: New file.
* sysdeps/unix/sysv/linux/fchownat.c: New file.
* sysdeps/unix/sysv/linux/futimesat.c: New file.
* sysdeps/unix/sysv/linux/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/fxstatat64.c: New file.
* sysdeps/unix/sysv/linux/renameat.c: New file.
* sysdeps/unix/sysv/linux/unlinkat.c: New file.
* sysdeps/unix/sysv/linux/alpha/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/i386/fchownat.c: New file.
* sysdeps/unix/sysv/linux/i386/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/m68k/fchownat.c: New file.
* sysdeps/unix/sysv/linux/m68k/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/powerpc/fchownat.c: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/fchownat.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/sh/fchownat.c: New file.
* sysdeps/unix/sysv/linux/sh/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/fchownat.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/fxstatat64.c: New file.
* time/sys/time.h: Declare futimesat.
* include/fcntl.h: Declare __atfct_seterrno.
* sysdeps/unix/sysv/linux/openat.c (__atfct_seterrno): New function.
Split out from openat code and called.
(do_test): Allow openat to fail with ENOSYS. Handle AT_FDCWD.
* sysdeps/generic/openat.c: Handle AT_FDCWD.
* sysdeps/generic/openat64.c: Likewise.
* io/tst-unlinkat.c: New file.
* io/tst-fstatat.c: New file.
* io/tst-futimesat.c: New file.
* io/tst-renameat.c: New file.
* io/tst-fchownat.c: New file.
* io/tst-openat.c: Don't fail if openat is not implemented.
* sysdeps/unix/sysv/linux/powerpc/chown.c: Don't provide backward
compatibility code if new kernel is guaranteed.
* time/sys/time.h: Add a few nonnull attributes.
2004-09-07 Ulrich Drepper <drepper@redhat.com>
* sysdeps/pthread/pthread.h (pthread_once): Remove __THROW since
the initialization function might throw.
2004-07-23 Ulrich Drepper <drepper@redhat.com>
* posix/bits/posix1_lim.h: Fix values for _POSIX_CHILD_MAX and
_POSIX_OPEN_MAX. Add _POSIX_HOST_NAME_MAX, _POSIX_SYMLINK_MAX,
_POSIX_SYMLOOP_MAX, and _POSIX_RE_DUP_MAX.
Reported by Andrew Josey.
* include/features.h: Document _POSIX_C_SOURCE == 200112L.
* grp/grp.h: Define gid_t if __USE_XOPEN2K is defined.
* pwd/pwd.h: Define uid_t and gid_t if __USE_XOPEN2K is defined.
* io/sys/stat.h: Define dev_t, gid_t, ino_t, mode_t, nlink_t,
off_t, time_t, and uid_t if __USE_XOPEN2K is defined.
* signal/signal.h: Define pid_t if __USE_XOPEN2K is defined.
* posix/unistd.h: Define gid_t, off_t, pid_t, uid_t, and
useconds_t if __USE_XOPEN2K is defined.
* io/utime.h: Define time_t if __USE_XOPEN2K is defined.
* libio/stdio.h: Declare fseeko and ftello if __USE_XOPEN2K is defined.
2002-12-30 Jakub Jelinek <jakub@redhat.com>
* forward.c: Make all functions available by default again. It
caused too much trouble.
* internals.h (struct pthread_functions): Rename ptr_pthread_exit
and ptr_pthread_attr_init_2_* to ptr___pthread_exit and
ptr___pthread_attr_init_2_*.
* pthread.c (pthread_functions): Adjust.
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.
* assert/Depend: Add localedata.
* assert/Makefile (test-assert-ENV): New. Define LANGUAGE=C.
(test-assert-perr-ENV): New. Define LANGUAGE=C.
* sysdeps/alpha/dl-machine.h (elf_machine_rela) [r_type ==
R_ALPHA_REFQUAD]: Use memcpy to load and store value from
relocation address to prevent unaligned trap.
Suggested by Richard Henderson <rth@cygnus.com>.
2000-06-30 Jakub Jelinek <jakub@redhat.com>
* io/sys/stat.h (stat64, lstat64, fstat64): Don't define inlines
if redirecting and either redirection is done using defines or
not optimizing.
2000-06-30 Ulrich Drepper <drepper@redhat.com>
1998-10-13 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c: Include
string.h to get memcpy prototype and NULL definition.
1998-10-12 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* misc/sys/cdefs.h (__THROW): New macro.
* argp/argp.h: Use it to replace the kludgey __P in inline
function definitions.
* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
* stdlib/stdlib.h: Likewise.
* wcsmbs/wchar.h: Likewise.
* libio/stdio.h: Likewise.
* stdio/stdio.h: Likewise.
* sysdeps/wordsize-64/inttypes.h: Likewise.
* sysdeps/wordsize-32/inttypes.h: Likewise.
* string/argz.h: Likewise.
* io/sys/stat.h: Likewise.
1998-10-12 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* Rules (stdio_lim): New variable.
($(stdio_lim:h=st)): Use this as intermediate stamp file, depend
on Rules and config.make, use $(move-if-change) to avoid unnessary
recompilations, and cleanup command.
(common-generated): Add bits/stdio_lim.st.
1998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/sys/swap.h (SWAP_FLAG_PREFER,
SWAP_FLAG_PRIO_MASK,SWAP_FLAG_PRIO_SHIFT): Added.
Remove inclusion of <linux/swap.h>.
1998-10-05 Ulrich Drepper <drepper@cygnus.com>
* io/sys/stat.h: Use __P in definitions of inline stat functions
so that they match the declaration.
1998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/sys/quota.h (Q_RSQUASH): Added.
1998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/sys/acct.h: Bring in sync with current
linux 2.1 version.
1998-10-02 Philip Blundell <pb@nexus.co.uk>
* sysdeps/arm/dl-machine.h: Fix typo in last change.
* sysdeps/arm/bits/huge_val.h: New file.
1998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/sys/reboot.h (RB_POWER_OFF): Added.
* sysdeps/unix/sysv/linux/sys/ptrace.h (PTRACE_SYSCALL): Add
define.
1998-10-05 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/posix/getcwd.c (__getcwd): Use temporary variable to
store result of realloc instead of using BUF.
1998-10-04 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* misc/sgtty.h (_SGTTY_H): Correct spelling.
Reported by Rouben Rostamian <rostamian@umbc.edu> [PR libc/817].
1998-10-04 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/memory.texi (Obstacks): Document
obstack_alloc_failed_handler usage.
* malloc/obstack.h: Enhance comment about
obstack_alloc_failed_handler usage.
* malloc/obstack.c: Likewise.
1998-10-05 Ulrich Drepper <drepper@cygnus.com>
* misc/sys/cdefs.h (__extension__): Define as empty if no gcc or
gcc before 2.8 is used.
1998-10-01 Philip Blundell <pb@nexus.co.uk>
* sysdeps/arm/machine-gmon.h: Correct args to mcount(). Patch
from Scott Bambrough.
* sysdeps/unix/sysv/linux/arm/register-dump.h: New file.
* libio/libioP.h (FILEBUF_LITERAL) [! _IO_MTSAFE_IO]: Don't
include the lock member.
1998-09-03 Philip Blundell <pb@nexus.co.uk>
* sysdeps/arm/fpu/__longjmp.S: Cope with fussy assembler.
1998-09-29 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/bits/string2.h (__string2_1bptr_p): Don't use a statement
expression.
(__mempcpy, strcpy, __stpcpy, strcmp, strcspn, strspn, strpbrk,
__strsep): Greatly reduce size of expansion by combining common
expressions.
(__mempcpy_small, __strcpy_small, __stpcpy_small): Convert to
inline function.
(__mempcpy_args, __strcpy_args, __stpcpy_args): New macros, used
by the above definitions.
1998-09-27 Geoff Keating <geoffk@ozemail.com.au>
* sysdeps/unix/sysv/linux/powerpc/bits/ipc.h: New file, use
correct struct ipc_perm definition.
1998-09-29 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/ypclnt.c (yp_all): Close UDP socket und give CLIENT handle free.
* sysdeps/unix/sysv/linux/alpha/ioperm.c: List Ruffian in platforms[].
* sysdeps/unix/sysv/linux/net/if_shaper.h: New file.
1998-08-31 Ulrich Drepper <drepper@cygnus.com>
* io/sys/stat.h (ALLPERMS): Fix type (S_ISTXT -> S_ISVTX).
Reported by Rob.Hagopian@vu.union.edu [PR libc/763].
* nscd/nscd.init: Make it work in RedHat systems.
Patch by Christian Gafton.
1998-08-29 Philip Blundell <philb@gnu.org>
* catgets/Makefile: Don't try to run test programs when
cross-compiling.
1998-08-31 Ulrich Drepper <drepper@cygnus.com>
* signal/signal.h: Include bits/sigthread.h only if __USE_POSIX.
Reported by Zack Weinberg.
1998-08-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Dist: Add umount.S and umount2.S.
* elf/Makefile (distribute): Remove ldd.sh.in.
1998-08-31 11:46 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/dl-origin.h (get_origin): Remove unused
variable.
* resolv/nss_dns/dns-host.c (getanswer_r): Lower the priority of
warnings when DNSSEC related records are received.
* resolv/gethnamaddr.c (getanswer): Likewise.
Patch by Brian Wellington <bwelling@anomaly.munge.com>.
* signal/signal.h: Add prototype for sysv_signal.
* math/libm-test.c (tgamma_test): Remove redundant tests.
* posix/glob.h: Add GLOB_TILDE_CHECK.
* sysdeps/generic/glob.c: Implement GLOB_TILDE_CHECK.
* posix/globtest.c: Add option T to enable GLOB_TILDE_CHECK.
* posix/globtest.sh: Re-enable test with ~ and non-existing user name.
1998-04-21 21:49 Zack Weinberg <zack@rabi.phys.columbia.edu>
* misc/sys/cdefs.h: New macro __REDIRECT to support changing the
asm symbol name of functions.
* include/features.h: Kill redundant test.
* dirent/dirent.h: Use new macros to implement __USE_FILE_OFFSET64.
* io/ftw.h: Likewise.
* io/sys/stat.h: Likewise.
* io/sys/statfs.h: Likewise.
* io/sys/statvfs.h: Likewise.
* libio/stdio.h: Likewise.
* resource/sys/resource.h: Likewise.
* rt/aio.h: Likewise.
* posix/unistd.h: Use new macros for __USE_FILE_OFFSET64 and
__FAVOR_BSD.
* signal/signal.h: Use new macros for BSD vs. SysV signal().
* misc/Makefile: Drop bsd-compat.c. Make libbsd-compat.a
a dummy library.
* misc/bsd-compat.c: Removed.