diff options
author | Ulrich Drepper <drepper@redhat.com> | 1996-12-07 03:30:25 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1996-12-07 03:30:25 +0000 |
commit | a18f587da5a0a91bcd1307ed0f122ca2ce994c15 (patch) | |
tree | 174cca5dd1f842dff255d6491ff6677ac7772eab /sysdeps | |
parent | 6b612c67093292a99a336fae38e459ee00927d0f (diff) | |
download | glibc-a18f587da5a0a91bcd1307ed0f122ca2ce994c15.zip glibc-a18f587da5a0a91bcd1307ed0f122ca2ce994c15.tar.gz glibc-a18f587da5a0a91bcd1307ed0f122ca2ce994c15.tar.bz2 |
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.c | 2 | ||||
-rw-r--r-- | sysdeps/stub/libc-lock.h | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/Dist | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/Makefile | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/llseek.S | 60 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/configure | 53 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/configure.in | 47 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sys/socketvar.h | 3 |
8 files changed, 82 insertions, 92 deletions
diff --git a/sysdeps/posix/getcwd.c b/sysdeps/posix/getcwd.c index 92196ac..4ea90a7 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 158a221..d0a82fe 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 0adc370..40f65b8 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 c7cf1f9..c03d966 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 a2e644c..0000000 --- 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 ef7590d..867d4fb 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 c493792..b6474a9 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 0000000..3945db1 --- /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> |