It was added on Linux 5.4 (3695eae5fee0605f316fbaad0b9e3de791d7dfaf)
to extend waitid to wait on pidfd.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
I used these shell commands:
../glibc/scripts/update-copyrights $PWD/../gnulib/build-aux/update-copyright
(cd ../glibc && git commit -am"[this commit message]")
and then ignored the output, which consisted lines saying "FOO: warning:
copyright statement not found" for each of 7061 files FOO.
I then removed trailing white space from math/tgmath.h,
support/tst-support-open-dev-null-range.c, and
sysdeps/x86_64/multiarch/strlen-vec.S, to work around the following
obscure pre-commit check failure diagnostics from Savannah. I don't
know why I run into these diagnostics whereas others evidently do not.
remote: *** 912-#endif
remote: *** 913:
remote: *** 914-
remote: *** error: lines with trailing whitespace found
...
remote: *** error: sysdeps/unix/sysv/linux/statx_cp.c: trailing lines
A new build flag, _TIME_BITS, enables the usage of the newer 64-bit
time symbols for legacy ABI (where 32-bit time_t is default). The 64
bit time support is only enabled if LFS (_FILE_OFFSET_BITS=64) is
also used.
Different than LFS support, the y2038 symbols are added only for the
required ABIs (armhf, csky, hppa, i386, m68k, microblaze, mips32,
mips64-n32, nios2, powerpc32, sparc32, s390-32, and sh). The ABIs with
64-bit time support are unchanged, both for symbol and types
redirection.
On Linux the full 64-bit time support requires a minimum of kernel
version v5.1. Otherwise, the 32-bit fallbacks are used and might
results in error with overflow return code (EOVERFLOW).
The i686-gnu does not yet support 64-bit time.
This patch exports following rediretions to support 64-bit time:
* libc:
adjtime
adjtimex
clock_adjtime
clock_getres
clock_gettime
clock_nanosleep
clock_settime
cnd_timedwait
ctime
ctime_r
difftime
fstat
fstatat
futimens
futimes
futimesat
getitimer
getrusage
gettimeofday
gmtime
gmtime_r
localtime
localtime_r
lstat_time
lutimes
mktime
msgctl
mtx_timedlock
nanosleep
nanosleep
ntp_gettime
ntp_gettimex
ppoll
pselec
pselect
pthread_clockjoin_np
pthread_cond_clockwait
pthread_cond_timedwait
pthread_mutex_clocklock
pthread_mutex_timedlock
pthread_rwlock_clockrdlock
pthread_rwlock_clockwrlock
pthread_rwlock_timedrdlock
pthread_rwlock_timedwrlock
pthread_timedjoin_np
recvmmsg
sched_rr_get_interval
select
sem_clockwait
semctl
semtimedop
sem_timedwait
setitimer
settimeofday
shmctl
sigtimedwait
stat
thrd_sleep
time
timegm
timerfd_gettime
timerfd_settime
timespec_get
utime
utimensat
utimes
utimes
wait3
wait4
* librt:
aio_suspend
mq_timedreceive
mq_timedsend
timer_gettime
timer_settime
* libanl:
gai_suspend
Reviewed-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
I used these shell commands:
../glibc/scripts/update-copyrights $PWD/../gnulib/build-aux/update-copyright
(cd ../glibc && git commit -am"[this commit message]")
and then ignored the output, which consisted lines saying "FOO: warning:
copyright statement not found" for each of 6694 files FOO.
I then removed trailing white space from benchtests/bench-pthread-locks.c
and iconvdata/tst-iconv-big5-hkscs-to-2ucs4.c, to work around this
diagnostic from Savannah:
remote: *** pre-commit check failed ...
remote: *** error: lines with trailing whitespace found
remote: error: hook declined to update refs/heads/master
The wait3 function was removed in the 2001 edition of POSIX.
sys/wait.h wrongly declares it for the 2001 and 2008 editions of POSIX
when XSI features are enabled. This patch fixes the conditionals.
Tested for x86_64.
[BZ #21625]
* posix/sys/wait.h (strust rusage forward declaration): Change
[__USE_XOPEN_EXTENDED] conditional to [__USE_XOPEN_EXTENDED &&
!__USE_XOPEN2K].
(wait3): Likewise.
Some older standards (XPG4.2 through POSIX.1:2001, XSI only) require
sys/wait.h to include the definition of struct rusage. This is
missing in glibc.
This patch adds the required definition. struct rusage is moved to a
new header bits/types/struct_rusage.h to avoid bringing in the whole
of sys/resource.h (although the standards in question do allow the
whole of sys/resource.h to be brought in). In the five
bits/resource.h headers, the only variation between the definitions of
struct rusage is that the sysdeps/unix/sysv/linux version is prepared
for x32 (by having anonymous unions with __syscall_slong_t fields) and
the others are not. Thus, this version is suitable for use
generically (everything other than x32 simply has __syscall_slong_t
the same as long int, so there are no API or ABI changes involved, and
anonymous unions are already a required language feature for glibc
headers elsewhere), and this patch uses it as a base for the single
implementation of bits/types/struct_rusage.h.
Tested for x86_64, and with build-many-glibcs.py.
[BZ #21575]
* resource/bits/types/struct_rusage.h: New file.
* include/bits/types/struct_rusage.h: Likewise.
* bits/resource.h (struct rusage): Include
<bits/types/struct_rusage.h> instead of defining here.
* sysdeps/unix/sysv/linux/bits/resource.h (struct rusage):
Likewise.
* sysdeps/unix/sysv/linux/alpha/bits/resource.h (struct rusage):
Likewise.
* sysdeps/unix/sysv/linux/mips/bits/resource.h (struct rusage):
Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/resource.h (struct rusage):
Likewise.
* resource/Makefile (headers): Add bits/types/struct_rusage.h.
* posix/sys/wait.h [__USE_XOPEN_EXTENDED && !__USE_XOPEN2K8]:
Include <bits/types/struct_rusage.h>
In sys/wait.h, waitid and associated constants and types are UX-shaded
in XPG4.2 (so not in XPG4), and XSI-shaded in POSIX before 2008, so
should be appropriately conditional in the headers. This patch fixes
the conditionals accordingly. (WCONTINUED is actually still
XSI-shaded in POSIX.1:2008, but W* is also reserved there without
XSI-shading, so nothing special needs to be done about the
conditionals on WCONTINUED to conform to POSIX.1:2008 namespace
rules.)
Tested for x86_64.
[BZ #21561]
* posix/sys/wait.h (idtype_t): Change [__USE_XOPEN] condition to
[__USE_XOPEN_EXTENDED].
(id_t): Likewise.
(include of <bits/types/siginfo_t.h): Likewise.
(waitid): Likewise.
* sysdeps/unix/sysv/linux/bits/waitflags.h (WSTOPPED): Condition
on [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8].
(WEXITED): Likewise.
(WCONTINUED): Likewise.
(WNOWAIT): Likewise.
* conform/Makefile (test-xfail-XPG4/stdlib.h/conform): Remove.
(test-xfail-XPG4/sys/wait.h/conform): Likewise.
(test-xfail-POSIX/sys/wait.h/conform): Likewise.
sys/wait.h includes signal.h unconditionally. But the permission to
do so is UX-shaded in XPG4.2, and XSI-shaded in POSIX before 2008, so
this should not be unconditional. This patch fixes this
conservatively: the include is kept, but conditioned on the standards
that permit it (meaning it is still present by default, because
non-XSI POSIX.1:2008 is enabled by default). <bits/types.h> is now
included unconditionally to provide the required definition of
__pid_t; it was previously included via <signal.h>. Some standards
require pid_t to be defined here, and all allow it to be defined here;
previously defined via <signal.h>, it's now defined directly in this
header.
Tested for x86_64. This does not fix any of the sys/wait.h
conformtest failures, but substantially reduces the number of
namespace failures for sys/wait.h for XPG4 and POSIX.
[BZ #21560]
* posix/sys/wait.h: Condition include of <signal.h> on
[__USE_XOPEN_EXTENDED || __USE_XOPEN2K8]. Include <bits/types.h>
unconditionally.
[!__pid_t_defined] (pid_t): Define typedef.
The types affected are __sig_atomic_t, sig_atomic_t, __sigset_t,
sigset_t, sigval_t, sigevent_t, and siginfo_t. __sig_atomic_t is a
scalar, so it's now directly available from bits/types.h. The others
get bits/types/ headers.
Side effects include: There have been small changes to which
non-signal headers expose which subset of the signal-related types.
A couple of architectures' nested siginfo_t fields had to be renamed
to prevent undesired macro expansion. Internal code that wants to
manipulate signal masks must now include <sigsetops.h> (which is not
installed) and should be aware that __sigaddset, __sigandset,
__sigdelset, __sigemptyset, and __sigorset no longer return a value
(unlike the public API). Relatedly, the public signal.h no longer
declares any of those functions. The obsolete sigmask() macro no
longer has a system-specific definition -- in the cases where it
matters, it didn't work anyway.
New Linux architectures should create bits/siginfo-arch.h and/or
bits/siginfo-consts-arch.h to customize their siginfo_t, rather than
duplicating everything in bits/siginfo.h (which no longer exists).
Add new __SI_* macros if necessary. Ports to other operating systems
are strongly encouraged to generalize this scheme further.
* bits/sigevent-consts.h
* bits/siginfo-consts.h
* bits/types/__sigset_t.h
* bits/types/sigevent_t.h
* bits/types/siginfo_t.h
* sysdeps/unix/sysv/linux/bits/sigevent-consts.h
* sysdeps/unix/sysv/linux/bits/siginfo-consts.h
* sysdeps/unix/sysv/linux/bits/types/__sigset_t.h
* sysdeps/unix/sysv/linux/bits/types/sigevent_t.h
* sysdeps/unix/sysv/linux/bits/types/siginfo_t.h:
New system-dependent bits headers.
* sysdeps/unix/sysv/linux/bits/siginfo-arch.h
* sysdeps/unix/sysv/linux/bits/siginfo-consts-arch.h
* sysdeps/unix/sysv/linux/ia64/bits/siginfo-arch.h
* sysdeps/unix/sysv/linux/ia64/bits/siginfo-consts-arch.h
* sysdeps/unix/sysv/linux/mips/bits/siginfo-arch.h
* sysdeps/unix/sysv/linux/sparc/bits/siginfo-arch.h
* sysdeps/unix/sysv/linux/tile/bits/siginfo-arch.h
* sysdeps/unix/sysv/linux/tile/bits/siginfo-consts-arch.h
* sysdeps/unix/sysv/linux/x86/bits/siginfo-arch.h:
New Linux-only system-dependent bits headers.
* signal/bits/types/sig_atomic_t.h
* signal/bits/types/sigset_t.h
* signal/bits/types/sigval_t.h:
New non-system-dependent bits headers.
* sysdeps/generic/sigsetops.h
* sysdeps/unix/sysv/linux/sigsetops.h:
New internal headers.
* include/bits/types/sig_atomic_t.h
* include/bits/types/sigset_t.h
* include/bits/types/sigval_t.h:
New wrappers.
* signal/sigsetops.h
* bits/siginfo.h
* bits/sigset.h
* sysdeps/unix/sysv/linux/bits/siginfo.h
* sysdeps/unix/sysv/linux/bits/sigset.h
* sysdeps/unix/sysv/linux/ia64/bits/siginfo.h
* sysdeps/unix/sysv/linux/mips/bits/siginfo.h
* sysdeps/unix/sysv/linux/s390/bits/siginfo.h
* sysdeps/unix/sysv/linux/sparc/bits/siginfo.h
* sysdeps/unix/sysv/linux/tile/bits/siginfo.h
* sysdeps/unix/sysv/linux/x86/bits/siginfo.h:
Deleted.
* signal/Makefile, sysdeps/unix/sysv/linux/Makefile:
Update lists of installed headers.
* posix/bits/types.h: Define __sig_atomic_t here.
* signal/signal.h: Use the new bits headers; no need to handle
__need_sig_atomic_t nor __need_sigset_t. Don't use __sigmask
to define sigmask.
* include/signal.h: No need to handle __need_sig_atomic_t
nor __need_sigset_t. Don't define __sigemptyset.
* io/sys/poll.h, setjmp/setjmp.h
* sysdeps/arm/sys/ucontext.h, sysdeps/generic/sys/ucontext.h
* sysdeps/i386/sys/ucontext.h, sysdeps/m68k/sys/ucontext.h
* sysdeps/mach/hurd/i386/bits/sigcontext.h
* sysdeps/mips/sys/ucontext.h, sysdeps/powerpc/novmxsetjmp.h
* sysdeps/pthread/bits/sigthread.h
* sysdeps/unix/sysv/linux/hppa/sys/ucontext.h
* sysdeps/unix/sysv/linux/m68k/sys/ucontext.h
* sysdeps/unix/sysv/linux/mips/sys/ucontext.h
* sysdeps/unix/sysv/linux/nios2/sys/ucontext.h
* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h
* sysdeps/unix/sysv/linux/s390/sys/ucontext.h
* sysdeps/unix/sysv/linux/sh/sys/ucontext.h
* sysdeps/unix/sysv/linux/sparc/sys/ucontext.h
* sysdeps/unix/sysv/linux/tile/sys/ucontext.h
* sysdeps/unix/sysv/linux/x86/sys/ucontext.h:
Use bits/types/__sigset_t.h.
* misc/sys/select.h, posix/spawn.h
* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h
* sysdeps/unix/sysv/linux/sys/epoll.h
* sysdeps/unix/sysv/linux/sys/signalfd.h:
Use bits/types/sigset_t.h.
* resolv/netdb.h, rt/mqueue.h: Use bits/types/sigevent_t.h.
* rt/aio.h: Use bits/types/sigevent_t.h and bits/sigevent-consts.h.
* socket/sys/socket.h: Don't include bits/sigset.h.
* login/utmp_file.c, shadow/lckpwdf.c, signal/sigandset.c
* signal/sigisempty.c, stdlib/abort.c, sysdeps/posix/profil.c
* sysdeps/posix/sigignore.c, sysdeps/posix/sigintr.c
* sysdeps/posix/signal.c, sysdeps/posix/sigset.c
* sysdeps/posix/sprofil.c, sysdeps/posix/sysv_signal.c
* sysdeps/unix/sysv/linux/nptl-signals.h:
Include sigsetops.h.
* signal/sigaddset.c, signal/sigandset.c, signal/sigdelset.c
* signal/sigorset.c, stdlib/abort.c, sysdeps/posix/sigignore.c
* sysdeps/posix/signal.c, sysdeps/posix/sigset.c:
__sigaddset, __sigandset, __sigdelset, __sigemptyset, __sigorset
now return no value.
* signal/sigaddset.c, signal/sigdelset.c, signal/sigismem.c
Include <errno.h>, <signal.h>, and <sigsetops.h> instead of
"sigsetops.h".
* signal/sigsetops.c: Explicitly define __sigismember,
__sigaddset, and __sigdelset as compatibility symbols.
* signal/Versions: Correct commentary on __sigpause,
__sigaddset, __sigdelset, __sigismember.
* inet/rcmd.c: Include sigsetops.h. Convert old code using
__sigblock/__sigsetmask to use __sigprocmask and friends.
The overloading approach in the W* macros was incompatible with
integer expressions of a type different from int. Applications
using union wait and these macros will have to migrate to the
POSIX-specified int status type.
2005-09-29 Roland McGrath <roland@redhat.com>
[BZ #1392]
* posix/sys/wait.h (__WAIT_INT): Rewrite using an initializer,
in case __typeof yields a const-qualified type.
* posix/sys/wait.h [__WIFCONTINUED] (WIFCONTINUED): New macro.
* stdlib/stdlib.h [__WIFCONTINUED] (WIFCONTINUED): New macro.
* sysdeps/generic/bits/waitstatus.h (__W_CONTINUED): New macro.
[WCONTINUED] (__WIFCONTINUED): New macro.
(__WIFSIGNALED): Rewritten to exclude __W_CONTINUED value, and have no
branches.
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-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.
* manual/Makefile (chapters): Add syslog.
* manual/syslog.texi: New file.
* manual/math.texi: Fix references.
* manual/terminal.texi: Likewise.
Patch by Bryan Henderson <bryanh@giraffe-data.com>.
2000-04-18 Jakub Jelinek <jakub@redhat.com>
* posix/sys/wait.h: Define __WAIT_STATUS and the like either if
stdlib.h was not included or __USE_XOPEN not defined.
2000-04-23 Ulrich Drepper <drepper@redhat.com>
* elf/dl-version.c (_dl_check_map_versions): New argument trace_mode.
Before testing versions check that we actually loaded the object
and whether we are in trace mode. If not loaded during tracing don't
test versions in this object.
(_dl_check_all_versions): Take new parameter and pass to
_dl_check_map_versions.
* sysdeps/generic/ldsodefs.h: Update prototypes for
_dl_check_all_versions and _dl_check_map_versions.
* elf/rtld.c (struct version_check_args): Add dotrace.
(version_check_doit): Pass args->dotrace to _dl_check_all_versions.
(dl_main): Pass info about trace mode to version_check_doit.
* elf/dl-open.c (dl_open_worker): Pass zero as new argument to
_dl_check_all_versions.
* manual/users.texi (XPG Functions): Document utmpxname, getutmp,
and getutmpx.
Patch by Bryan Henderson <bryanh@giraffe-data.com>.
1998-07-09 13:34 Ulrich Drepper <drepper@cygnus.com>
* grp/grp.h: Define gid_t also for __USE_XOPEN.
* io/fcntl.h: Include <sys/stat.h> also for __USE_XOPEN.
* io/utime.h: Define time_t also for __USE_XOPEN.
* io/sys/stat.h: Define time_t also for __USE_XOPEN.
Define *_t types except for pid_t also for __USE_XOPEN.
Define S_* macros also for __USE_XOPEN.
* locale/langinfo.h: Define CODESET, CRNCYSTR, RADIXCHAR, and
THOUSEP also for __USE_XOPEN.
* math/math.c: Define M_* macros also for __USE_XOPEN.
* math/bits/mathcalls.h: Declare hypot also for __USE_XOPEN.
* posix/fnmatch.h: Define FNM_NOSYS and for if _XOPEN_SOURCE is
defined.
* posix/glob.h: Likewise for GLOB_NOSYS.
* posix/regex.h: Likewise for REG_NOSYS.
* posix/wordexp.h: Likewise for WRDE_NOSYS.
* posix/unistd.h: Define *_t types also for __USE_XOPEN.
* posix/sys/wait.h: Define pid_t for __USE_XOPEN.
* pwd/pwd.h: Define gid_t and pid_t also for __USE_XOPEN.
* signal/signal.h: Define pid_t also fir __USE_XOPEN.
* sysdeps/unix/sysv/linux/bits/fcntl.h: Define _RSYNC and O_DSYNC also
for __USE_POSIX199309.
* sysdeps/unix/sysv/linux/bits/termios.h: Define the various B*
constants also for __USE_XOPEN.
* wcsmbs/wchar.h: For XPG4 include wctype.h.
* intl/dcgettext.c (find_msg): Initialize act to prevent warning.
* locale/setlocale.c (new_composite_name): Likewise for last_len.
* libio/stdio.h: Don't declare fclose_unlocked.
* sysdeps/posix/fpathconf.c: Handle _PC_FILESIZEBITS.
1998-07-08 Mark Kettenis <kettenis@phys.uva.nl>
* stdio/stdio.h: Add prototypes for fflush_unlocked,
getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked,
fgets_unlocked, fread_unlocked, fwrite_unlocked,
clearerr_unlocked, feof_unlocked, ferror_unlocked,
fileno_unlocked, flockfile, ftrylockfile, funlockfile.
[__USE_XOPEN && !__USE_GNU] Declare optarg, optind, opterr. Add
prototype for getopt.
* stdio/clearerr.c (clearerr_unlocked): Weak alias for clearerr.
* stdio/feof.c (feof_unlocked): Weak alias for feof.
* stdio/ferror.c (ferror_unlocked): Weak alias for ferror.
* stdio/fflush.c (fflush_unlocked): Weak alias for fflush.
* stdio/fgets.c (fgets_unlocked): Weak alias for fgets.
* stdio/fileno.c (fileno_unlocked): Weak alias for fileno.
* stdio/fputc.c (fputc_unlocked): Weak alias for fputc.
* stdio/fread.c (fread_unlocked): Weak alias for fread.
* stdio/fwrite.c (fwrite_unlocked): Weak alias for fwrite.
* stdio/getc.c (getchar_unlocked): Weak alias for getc.
* stdio/getchar.c (getchar_unlocked): Weak alias for getchar.
* stdio/putc.c (putc_unlocked): Weak alias for putc.
* stdio/putchar.c (putchar_unlocked): Weak alias for putchar.
* stdio/Versions [GLIBC_2.1]: Add clearerr_unlocked,
feof_unlocked, ferror_unlocked, fflush_unlocked, fgets_unlocked,
fileno_unlocked, fputc_unlocked, fread_unlocked, fwrite_unlocked,
getc_unlocked, getchar_unlocked, putc_unlocked and
putchar_unlocked.
* libio/Versions: Move flockfile, ftrylockfile and funlockfile
from here ...
* stdio-common/Versions: ... to here.
1998-07-09 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Makerules (versioning): Correct typo.
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.