about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1996-12-07 03:30:25 +0000
committerUlrich Drepper <drepper@redhat.com>1996-12-07 03:30:25 +0000
commita18f587da5a0a91bcd1307ed0f122ca2ce994c15 (patch)
tree174cca5dd1f842dff255d6491ff6677ac7772eab /sysdeps
parent6b612c67093292a99a336fae38e459ee00927d0f (diff)
downloadglibc-a18f587da5a0a91bcd1307ed0f122ca2ce994c15.tar.gz
glibc-a18f587da5a0a91bcd1307ed0f122ca2ce994c15.tar.xz
glibc-a18f587da5a0a91bcd1307ed0f122ca2ce994c15.zip
update from main archive 961206
Sat Dec  7 03:24:36 1996  Ulrich Drepper  <drepper@cygnus.com>

	* configure.in: Discard error message from test in test for
	bash-2.0.

	* io/getpw.c: Don't apply getcwd on user supplied buffer.
	Instead always use temporary buffer and only copy the result.
	Patch by HJ Lu.
	* stdlib/canonicalize.c: Likewise.

	* libio/fileops.c: Change comments according to libg++2.8b5.
	* libio/iosetvbuf.c: Follow change in libg++-2.8b5 to clear
	unbuffered flag.
	Reported by HJ Lu.

	* manual/nss.texi: Correct prototypes.

	* misc/syslog.c: Make reentrant.  Catch SIGPIPE signal to prevent
	crash if syslog daemon is restarted.

	* stdlib/rand_r.c: New file.  Implementation of POSIX.2 function
	rand_r.
	* stdlib/Makefile (routines): Add rand_r.

	* sysdeps/stub/libc-lock.h: Define __libc_lock_trylock and
	__libc_mutex_lock.

	* configure.in: Add --disable-sanity-check option.
	* sysdeps/unix/sysv/linux/configure.in: If linuxthreads or
	des-crypt are not available and --disbale-sanity-check is not
	given abort with a message.

Thu Dec  5 19:19:53 1996  Richard Henderson  <rth@tamu.edu>

	* posix/glob.c: Tests against STDC_HEADERS should also test
	__GNU_LIBRARY__.

Thu Dec  5 16:20:55 1996  Ulrich Drepper  <drepper@cygnus.com>

	* misc/err.c (vwarn): Set errno again before using %m format.

Thu Dec  5 10:14:05 1996  Andreas Jaeger  <aj@arthur.pfalz.de>

	* grp/grp.h: Add declaration of __getgrent_r.

	* io/fts.c (fts_build): Remove "register" from variables dirbuf
	and dp since their address is needed.

	* sysdeps/posix/getcwd.c (__getcwd): Remove "register" from
	variable d since d's address is needed.

	* misc/tst-dirname.c (main): Provide prototype.
	* misc/ioctltst.c (main): Dito.

	* Makefile: Add gnu/lib-names.h to install-others before including
	Makerules.

Wed Dec  4 16:00:09 1996  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/sys/socketvar.h: New file.  Simply use
	<sys/socket.h>.
	* sysdeps/unix/sysv/linux/Dist: Add sys/socketvar.h.
	* sysdeps/unix/sysv/linux/Makefile [$(subdir)=inet)]: Add
	sys/socketvar.h to sysdep_headers.

	since the value might be outside the range of the `long int'.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/posix/getcwd.c2
-rw-r--r--sysdeps/stub/libc-lock.h6
-rw-r--r--sysdeps/unix/sysv/linux/Dist1
-rw-r--r--sysdeps/unix/sysv/linux/Makefile2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/llseek.S60
-rw-r--r--sysdeps/unix/sysv/linux/configure53
-rw-r--r--sysdeps/unix/sysv/linux/configure.in47
-rw-r--r--sysdeps/unix/sysv/linux/sys/socketvar.h3
8 files changed, 82 insertions, 92 deletions
diff --git a/sysdeps/posix/getcwd.c b/sysdeps/posix/getcwd.c
index 92196ac50a..4ea90a7320 100644
--- a/sysdeps/posix/getcwd.c
+++ b/sysdeps/posix/getcwd.c
@@ -253,7 +253,7 @@ __getcwd (buf, size)
   while (!(thisdev == rootdev && thisino == rootino))
     {
       register DIR *dirstream;
-      register struct dirent *d;
+      struct dirent *d;
 #if defined HAVE_READDIR_R || defined _LIBC
       struct dirent dirbuf;
 #endif
diff --git a/sysdeps/stub/libc-lock.h b/sysdeps/stub/libc-lock.h
index 158a221718..d0a82fea21 100644
--- a/sysdeps/stub/libc-lock.h
+++ b/sysdeps/stub/libc-lock.h
@@ -48,6 +48,9 @@
 /* Lock the named lock variable.  */
 #define __libc_lock_lock(NAME)
 
+/* Try tp lock the named lock variable.  */
+#define __libc_lock_trylock(NAME)
+
 /* Unlock the named lock variable.  */
 #define __libc_lock_unlock(NAME)
 
@@ -58,4 +61,7 @@
 #define __libc_cleanup_region_end(DOIT)
 
 
+/* We need protable names for some of the functions.  */
+#define __libc_mutex_unlock
+
 #endif	/* libc-lock.h */
diff --git a/sysdeps/unix/sysv/linux/Dist b/sysdeps/unix/sysv/linux/Dist
index 0adc370632..40f65b838c 100644
--- a/sysdeps/unix/sysv/linux/Dist
+++ b/sysdeps/unix/sysv/linux/Dist
@@ -22,6 +22,7 @@ sys/mtio.h
 sys/procfs.h
 sys/quota.h
 sys/socketcall.h
+sys/socketvar.h
 sys/soundcard.h
 sys/sysctl.h
 sys/sysinfo.h
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
index c7cf1f9570..c03d966a61 100644
--- a/sysdeps/unix/sysv/linux/Makefile
+++ b/sysdeps/unix/sysv/linux/Makefile
@@ -51,7 +51,7 @@ inhibit-siglist := yes
 endif
 
 ifeq ($(subdir), inet)
-sysdep_headers += netinet/in_systm.h
+sysdep_headers += netinet/in_systm.h sys/socketvar.h
 endif
 
 # Don't compile the ctype glue code, since there is no old non-GNU C library.
diff --git a/sysdeps/unix/sysv/linux/alpha/llseek.S b/sysdeps/unix/sysv/linux/alpha/llseek.S
deleted file mode 100644
index a2e644c161..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/llseek.S
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright (C) 1993, 1995, 1996 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by David Mosberger <davidm@cs.arizona.edu>, 1995.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/* For compatibility only: a "long" is 64 bits on the Alpha, so
-   llseek() isn't really needed.  But there are some programs out
-   there who may depend on it being around.  */
-
-#include <sysdep.h>
-
-	.text
-ENTRY(llseek)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	.set noat
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set at
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	sll	a1, 32, a1	/* build a 64 bit ofs out of 32 bit operands */
-	zap	a2, 0xf0, a2
-	mov	a3, t0		/* save result address */
-	bis	a2, a1, a1
-
-	mov	a4, a2		/* shift down whence */
-
-	ldi	v0, __NR_lseek
-	call_pal PAL_callsys
-	bne	a3, error
-
-	stq	v0, 0(t0)
-	ret
-
-error:
-#ifndef PROF
-	br	gp, 1f
-1:	ldgp	gp, 0(gp)
-#endif
-	jmp	zero, __syscall_error
-
-	END(llseek)
diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure
index ef7590d367..867d4fbe7a 100644
--- a/sysdeps/unix/sysv/linux/configure
+++ b/sysdeps/unix/sysv/linux/configure
@@ -1,39 +1,16 @@
- # Local configure fragment for sysdeps/unix/sysv/linux.
-
-# On Linux, the default is to use libio instead of stdio.
-test $stdio = default && stdio=libio
-
-# Don't bother trying to generate any glue code to be compatible with the
-# existing system library, because we are the only system library.
-inhibit_glue=yes
-
-echo $ac_n "checking installed Linux kernel header files""... $ac_c" 1>&6
-if eval "test \"`echo '$''{'libc_cv_linux2010'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 16 "configure"
-#include "confdefs.h"
-#include <linux/version.h>
-int main() { return 0; }
-int t() {
-#if LINUX_VERSION_CODE <  (2 *65536+ 0 *256+ 10) /* 2.0.10 */
-eat flaming death
-#endif
-; return 0; }
-EOF
-if { (eval echo configure:26: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+; then
   rm -rf conftest*
   libc_cv_linux2010='2.0.10 or later'
 else
+  echo "configure: failed program was:" >&AC_FD_CC
+  cat conftest.$ac_ext >&AC_FD_CC
   rm -rf conftest*
   libc_cv_linux2010='TOO OLD!'
 fi
 rm -f conftest*
-
 fi
 
-echo "$ac_t""$libc_cv_linux2010" 1>&6
+echo "$ac_t""$libc_cv_linux2010" 1>&AC_FD_MSG
 if test "$libc_cv_linux2010" != '2.0.10 or later'; then
   { echo "configure: error: GNU libc requires kernel header files from
 Linux 2.0.10 or later to be installed before configuring.
@@ -57,20 +34,36 @@ fi
 case $add_ons in
   # Both are available.  Good.
   *linuxthreads*des-crypt* | *des-crypt*linuxthreads*)
+    message=
     ;;
   *linuxthreads*)
-    echo "\
+    message="\
 *** WARNING:
 *** Are you sure you do not want to use the \`crypt' add-on?"
     ;;
   *des-crypt*)
-    echo "\
+    message="\
 *** WARNING:
 *** Are you sure you do not want to use the \`LinuxThread' add-on?"
     ;;
   *)
-    echo "\
+    message="\
 *** WARNING: Are you sure you do not want to use the \`LinuxThreads'
 *** and \`crypt' add-ons?"
     ;;
 esac
+
+if test "$message"; then
+  if test $enable_sanity = yes; then
+    echo "\
+*** You should not compile the GNU libc without the \`LinuxThreads' and
+*** \`crypt' add-on.  Not using them risks to be incompatible with the
+*** libraries of other systems.  Consider getting the add-ons and restart
+*** the configuration.
+*** If you really mean to avoid those add-ons run configure again, now
+*** using the extra parameter \`--disable-sanity-checks'."
+    exit 1
+  else
+    echo "$message"
+  fi
+fi
diff --git a/sysdeps/unix/sysv/linux/configure.in b/sysdeps/unix/sysv/linux/configure.in
index c4937923a9..b6474a940c 100644
--- a/sysdeps/unix/sysv/linux/configure.in
+++ b/sysdeps/unix/sysv/linux/configure.in
@@ -29,3 +29,50 @@ Linux LIBC_LINUX_VERSION or later.  This check uses <linux/version.h>, so
 make sure that file was built correctly when installing the kernel header
 files.])
 fi
+
+# The Linux filesystem standard prescribes where to place "essential"
+# files.  I.e., when the installation prefix is "/usr" we have to place
+# shared library objects and the configuation files on the root partition
+# in /lib and /etc.
+if test "$prefix" = "/usr"; then
+  libc_cv_slibdir="/lib"
+  libc_cv_sysconfdir="/etc"
+fi
+
+# Under Linux the LinuxThreads and crypt add-on should be available.
+case $add_ons in
+  # Both are available.  Good.
+  *linuxthreads*des-crypt* | *des-crypt*linuxthreads*)
+    message=
+    ;;
+  *linuxthreads*)
+    message="\
+*** WARNING:
+*** Are you sure you do not want to use the \`crypt' add-on?"
+    ;;
+  *des-crypt*)
+    message="\
+*** WARNING:
+*** Are you sure you do not want to use the \`LinuxThread' add-on?"
+    ;;
+  *)
+    message="\
+*** WARNING: Are you sure you do not want to use the \`LinuxThreads'
+*** and \`crypt' add-ons?"
+    ;;
+esac
+
+if test "$message"; then
+  if test $enable_sanity = yes; then
+    echo "\
+*** You should not compile the GNU libc without the \`LinuxThreads' and
+*** \`crypt' add-on.  Not using them risks to be incompatible with the
+*** libraries of other systems.  Consider getting the add-ons and restart
+*** the configuration.
+*** If you really mean to avoid those add-ons run configure again, now
+*** using the extra parameter \`--disable-sanity-checks'."
+    exit 1
+  else
+    echo "$message"
+  fi
+fi
diff --git a/sysdeps/unix/sysv/linux/sys/socketvar.h b/sysdeps/unix/sysv/linux/sys/socketvar.h
new file mode 100644
index 0000000000..3945db124a
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sys/socketvar.h
@@ -0,0 +1,3 @@
+/* This header is used on many systems but for Linux we have everything
+   already defined in the standard header.  */
+#include <sys/socket.h>