aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog144
-rw-r--r--bits/libc-lock.h4
-rwxr-xr-xconfigure2
-rw-r--r--configure.in2
-rw-r--r--elf/rtld.c2
-rw-r--r--include/netdb.h1
-rw-r--r--include/resolv.h1
-rw-r--r--include/sys/sysctl.h2
-rw-r--r--inet/htontest.c3
-rw-r--r--libio/fileno.c6
-rw-r--r--libio/iofgets.c1
-rw-r--r--libio/iofputs.c1
-rw-r--r--libio/iofread.c1
-rw-r--r--libio/oldstdfiles.c1
-rw-r--r--locale/xlocale.c4
-rw-r--r--login/programs/utmpdump.c48
-rw-r--r--login/tst-utmp.c19
-rw-r--r--misc/syslog.c8
-rw-r--r--posix/tst-dir.c14
-rw-r--r--posix/tst-gnuglob.c3
-rw-r--r--rt/Makefile7
-rw-r--r--rt/tst-aio.c8
-rw-r--r--rt/tst-aio2.c8
-rw-r--r--rt/tst-aio3.c8
-rw-r--r--rt/tst-aio4.c8
-rw-r--r--rt/tst-aio5.c8
-rw-r--r--rt/tst-aio6.c5
-rw-r--r--rt/tst-aio64.c8
-rw-r--r--rt/tst-aio7.c8
-rw-r--r--stdio-common/tst-fseek.c8
-rw-r--r--sysdeps/alpha/fpu/fpu_control.h6
-rw-r--r--sysdeps/generic/bits/libc-lock.h4
-rw-r--r--sysdeps/generic/glob.c20
-rw-r--r--sysdeps/generic/ptsname.c4
-rw-r--r--sysdeps/generic/sys/sysinfo.h6
-rw-r--r--sysdeps/i386/sysdep.h10
-rw-r--r--sysdeps/posix/readv.c5
-rw-r--r--sysdeps/posix/writev.c5
-rw-r--r--sysdeps/unix/alpha/pipe.S (renamed from sysdeps/unix/sysv/linux/alpha/pipe.S)0
-rw-r--r--sysdeps/unix/arm/fork.S4
-rw-r--r--sysdeps/unix/bsd/bsd4.4/syscalls.list2
-rw-r--r--sysdeps/unix/bsd/osf/alpha/pipe.S33
-rw-r--r--sysdeps/unix/common/syscalls.list1
-rw-r--r--sysdeps/unix/fork.S4
-rw-r--r--sysdeps/unix/grantpt.c16
-rw-r--r--sysdeps/unix/i386/brk.S9
-rw-r--r--sysdeps/unix/i386/fork.S3
-rw-r--r--sysdeps/unix/i386/pipe.S3
-rw-r--r--sysdeps/unix/i386/wait.S3
-rw-r--r--sysdeps/unix/inet/syscalls.list8
-rw-r--r--sysdeps/unix/opendir.c14
-rw-r--r--sysdeps/unix/syscalls.list6
-rw-r--r--sysdeps/unix/sysv/linux/arm/sysdep.h6
-rw-r--r--sysdeps/unix/sysv/linux/hppa/sysdep.h6
-rw-r--r--sysdeps/unix/sysv/linux/i386/sysdep.h10
-rw-r--r--sysdeps/unix/sysv/linux/init-first.c3
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h6
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h12
-rw-r--r--sysdeps/unix/sysv/linux/sh/sysdep.h9
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/sysdep.h6
60 files changed, 403 insertions, 164 deletions
diff --git a/ChangeLog b/ChangeLog
index 0bff99b0b9..1435082cb3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,147 @@
+2002-08-26 Roland McGrath <roland@redhat.com>
+
+ * locale/programs/ld-ctype.c (ctype_read): When given a repertoire
+ name of "", store a null pointer instead.
+
+ * configure.in (elf): Set to yes for freebsd*, netbsd*.
+ * configure: Regenerated.
+
+ * locale/xlocale.c [! (USE_TLS && HAVE___THREAD)] (__libc_tsd_LOCALE):
+ Initialize this instead of __libc_tsd_LOCALE_data.
+
+ * sysdeps/unix/grantpt.c (pts_name): Convert ENOTTY return from
+ ptsname_r to EINVAL.
+
+ * sysdeps/generic/ptsname.c (__ptsname_r): Return ENOSYS instead of 0.
+
+ * rt/Makefile: Revert last change, it was inappropriate to presume aio
+ implementations depend on pthreads.
+ * rt/tst-aio.c (do_test): Exit happy if first failure is ENOSYS.
+ * rt/tst-aio64.c (do_test): Likewise.
+ * rt/tst-aio2.c (do_test): Likewise.
+ * rt/tst-aio3.c (do_test): Likewise.
+ * rt/tst-aio4.c (do_test): Likewise.
+ * rt/tst-aio5.c (do_test): Likewise.
+ * rt/tst-aio6.c (do_test): Likewise.
+ * rt/tst-aio7.c (do_test): Likewise.
+
+ * sysdeps/generic/bits/libc-lock.h (__libc_setspecific): Use a cast to
+ void so as to avoid compiler warnings.
+
+ * libio/oldstdfiles.c [! _IO_MTSAFE_IO] (DEF_STDFILE): Don't define
+ _IO_wide_data_FD, which is never used here.
+
+ * libio/iofread.c
+ [! _IO_MTSAFE_IO] (fread_unlocked): Add libc_hidden_ver defn.
+ * libio/iofputs.c [! _IO_MTSAFE_IO] (fputs_unlocked): Likewise.
+ * libio/iofgets.c [! _IO_MTSAFE_IO] (fgets_unlocked): Likewise.
+
+ * include/resolv.h [! _LIBC_REENTRANT] (_res): #undef it before decl.
+ * include/netdb.h [! _LIBC_REENTRANT] (h_errno): Declare normal extern.
+
+ * misc/syslog.c (openlog): Conditionalize locking on [_LIBC_REENTRANT].
+ (closelog): Likewise.
+
+2002-07-06 Bruno Haible <bruno@clisp.org>
+
+ * sysdeps/alpha/fpu/fpu_control.h: Comment fix.
+
+ * sysdeps/unix/sysv/linux/alpha/pipe.S: Moved to ...
+ * sysdeps/unix/alpha/pipe.S: ... here.
+ * sysdeps/unix/bsd/osf/alpha/pipe.S: File removed.
+
+ * sysdeps/unix/i386/brk.S: Rename local label to '.Lhere' in ELF.
+
+ * sysdeps/unix/i386/brk.S: Add PSEUDO_END invocation.
+ * sysdeps/unix/i386/fork.S: Likewise.
+ * sysdeps/unix/i386/pipe.S: Likewise.
+ * sysdeps/unix/i386/wait.S: Likewise.
+
+ * sysdeps/unix/fork.S: Fix PSEUDO_END argument.
+ * sysdeps/unix/arm/fork.S: Likewise.
+
+ * sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO): Swap DO_CALL
+ arguments.
+ (DO_CALL): Swap argument order.
+ * sysdeps/unix/sysv/linux/hppa/sysdep.h (PSEUDO): Swap DO_CALL
+ arguments.
+ (DO_CALL): Swap argument order.
+ * sysdeps/unix/sysv/linux/i386/sysdep.h (PSEUDO): Swap DO_CALL
+ arguments.
+ (DO_CALL): Swap argument order.
+ * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (PSEUDO): Swap DO_CALL
+ arguments.
+ (DO_CALL): Swap argument order.
+ * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (PSEUDO): Swap DO_CALL
+ arguments.
+ (DO_CALL): Swap argument order.
+ * sysdeps/unix/sysv/linux/sh/sysdep.h (PSEUDO): Swap DO_CALL
+ arguments.
+ (DO_CALL): Swap argument order.
+ * sysdeps/unix/sysv/linux/x86_64/sysdep.h (PSEUDO): Swap DO_CALL
+ arguments.
+ (DO_CALL): Swap argument order.
+
+ * sysdeps/i386/sysdep.h (PSEUDO): Fix syntax error.
+ (L): Define right for ELF.
+ * sysdeps/unix/sysv/linux/i386/sysdep.h (L): Remove definition.
+ Now defined in sysdeps/i386/sysdep.h.
+
+ * sysdeps/posix/readv.c: Ansify function definition.
+ * sysdeps/posix/writev.c: Likewise.
+
+ * stdio-common/tst-fseek.c (main): Don't assume that off_t and size_t
+ have the same size. Avoid direct cast from size_t to off_t.
+
+ * login/tst-utmp.c (simulate_login): Don't leave garbage after the
+ nul byte in entry[n].ut_user.
+ (simulate_logout): Likewise.
+
+ * login/programs/utmpdump.c (print_entry): Test _HAVE_UT_TYPE,
+ _HAVE_UT_PID, _HAVE_UT_ID, _HAVE_UT_HOST, instead of assuming the
+ existence of corresponding members of 'struct utmp'.
+ * login/tst-utmp.c: Trivialize the test if testing 'struct utmp' and
+ !_HAVE_UT_TYPE.
+
+ * sysdeps/unix/opendir.c (__opendir): If st_blksize is 0 or too small,
+ allocate a buffer of at least BUFSIZ bytes, not just of
+ sizeof (struct dirent).
+
+ * sysdeps/generic/glob.c: Include <limits.h>.
+ (NAME_MAX): Define a fallback.
+ (glob_in_dir): Allocate enough room for a 'struct dirent64' on the
+ stack.
+ * posix/tst-dir.c: Include <stddef.h>, for offsetof.
+ (main): Allocate enough room for a 'struct dirent64' on the stack.
+ * posix/tst-gnuglob.c (my_DIR): Allocate enough room for a
+ 'struct dirent'.
+
+ * sysdeps/unix/sysv/linux/init-first.c: Don't include
+ kernel-features.h.
+
+ * inet/htontest.c: Include <sys/types.h>.
+
+ * sysdeps/generic/sys/sysinfo.h: Surround with __{BEGIN,END}_DECLS.
+
+ * include/sys/sysctl.h: Comment fix.
+
+ * elf/rtld.c (_rtld_global) [! _LIBC_REENTRANT]: Don't initialize
+ _dl_load_lock.
+ * libio/fileno.c (fileno_unlocked): Define regardless of _IO_MTSAFE_IO.
+
+ * sysdeps/unix/bsd/bsd4.4/syscalls.list (__sigaltstack): New alias.
+
+ * sysdeps/unix/inet/syscalls.list (__connect_internal): New alias.
+ (__getpeername): New alias.
+ (__getsockname): New alias.
+ (__socket): New alias.
+
+ * sysdeps/unix/common/syscalls.list (getpgid): Remove.
+
+ * sysdeps/unix/syscalls.list (__chown_internal): New alias.
+ (__fcntl_internal): New alias.
+ (__profil): New alias.
+
2002-08-26 Ulrich Drepper <drepper@redhat.com>
* nscd/hstcache.c (cache_addhst): Add new parameter saying whether
diff --git a/bits/libc-lock.h b/bits/libc-lock.h
index 700ebd6062..ff808904a8 100644
--- a/bits/libc-lock.h
+++ b/bits/libc-lock.h
@@ -1,5 +1,5 @@
/* libc-internal interface for mutex locks. Stub version.
- Copyright (C) 1996,97,99,2000,01 Free Software Foundation, Inc.
+ Copyright (C) 1996,97,99,2000,01,02 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -123,7 +123,7 @@ typedef int __libc_key_t;
#define __libc_key_create(KEY,DEST) -1
/* Set thread-specific data associated with KEY to VAL. */
-#define __libc_setspecific(KEY,VAL) -1
+#define __libc_setspecific(KEY,VAL) ((void)0)
/* Get thread-specific data associated with KEY. */
#define __libc_getspecific(KEY) 0
diff --git a/configure b/configure
index affce4f8da..ea8e061adb 100755
--- a/configure
+++ b/configure
@@ -961,7 +961,7 @@ case "$host_os" in
# i586-linuxaout is mangled into i586-pc-linux-gnuaout
linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
;;
-gnu* | linux* | sysv4* | solaris2* | irix6*)
+gnu* | linux* | freebsd* | netbsd* | sysv4* | solaris2* | irix6*)
# These systems (almost) always use the ELF format.
elf=yes
;;
diff --git a/configure.in b/configure.in
index 72e15579ae..f6a0fcb556 100644
--- a/configure.in
+++ b/configure.in
@@ -247,7 +247,7 @@ case "$host_os" in
# i586-linuxaout is mangled into i586-pc-linux-gnuaout
linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
;;
-gnu* | linux* | sysv4* | solaris2* | irix6*)
+gnu* | linux* | freebsd* | netbsd* | sysv4* | solaris2* | irix6*)
# These systems (almost) always use the ELF format.
elf=yes
;;
diff --git a/elf/rtld.c b/elf/rtld.c
index 7c7c926d81..54e1903eef 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -101,7 +101,9 @@ struct rtld_global _rtld_global =
._dl_fpu_control = _FPU_DEFAULT,
._dl_correct_cache_id = _DL_CACHE_DEFAULT_ID,
._dl_hwcap_mask = HWCAP_IMPORTANT,
+#ifdef _LIBC_REENTRANT
._dl_load_lock = _LIBC_LOCK_RECURSIVE_INITIALIZER
+#endif
};
strong_alias (_rtld_global, _rtld_local);
diff --git a/include/netdb.h b/include/netdb.h
index c77c4036f4..d58fe5beda 100644
--- a/include/netdb.h
+++ b/include/netdb.h
@@ -19,6 +19,7 @@ __set_h_errno (int __err)
# else
# undef h_errno
# define __set_h_errno(x) (h_errno = (x))
+extern int h_errno;
# endif /* _LIBC_REENTRANT */
libc_hidden_proto (hstrerror)
diff --git a/include/resolv.h b/include/resolv.h
index 8ad713e96c..b9e