From f65fd747b440ae2d8a7481ecc50e668c5e4d0cc9 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 8 Dec 1996 08:01:13 +0000 Subject: update from main archive 961207 Sun Dec 8 06:56:49 1996 Ulrich Drepper * io/getwd.c: Use PATH_MAX not LOCAL_PATH_MAX. Fix typo in comment. * stdlib/canonicalize.c: Correct bugs in last change. Patch by HJ Lu. * libio/Makefile (routines): Remove ioprims. (aux): Remove cleanup. Add IO_DEBUG option for .o files. * libio/cleanups.c: Removed. * libio/ioprims.c: Removed. * libio/filedoalloc.c: More updates from libg++-2.8b5. * libio/fileops.c: Likewise. * libio/genops.c: Likewise. * libio/iolibio.h: Likewise. * libio/iopopen.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/libio.h: Likewise. * libio/libioP.h: Likewise. * libio/memstream.c: Likewise. * libio/strfile.h: Likewise. * libio/vasprintf.c: Likewise. * libio/vsnprintf.c: Likewise. * libio/stdio.h: Define P_tmpdir only is __USE_SVID. * manual/arith.texi: Change references to ANSI C to ISO C. * manual/conf.texi: Likewise. * manual/creature.texi: Likewise. * manual/ctype.texi: Likewise. * manual/errno.texi: Likewise. * manual/filesys.texi: Likewise. * manual/intro.texi. Likewise. * manual/io.texi: Likewise. * manual/lang.texi: Likewise. * manual/libc.texinfo: Likewise. * manual/locale.texi: Likewise. * manual/maint.texi: Likewise. * manual/mbyte.texi: Likewise. * manual/memory.texi: Likewise. * manual/process.texi: Likewise. * manual/process.texi: Likewise. * manual/search.texi: Likewise. * manual/setjmp.texi: Likewise. * manual/signal.texi: Likewise. * manual/startup.texi: Likewise. * manual/stdio.texi: Likewise. * manual/string.texi: Likewise. * manual/time.texi: Likewise. * manual/locale.texi: Remove description of LC_RESPONSE and add LC_MESSAGES. * Makefile (subdirs): Change malloc in $(malloc). * config.make.in: Add variable malloc which is initialized from @malloc@. * configure.in: Add new option --enable-new-malloc to use new malloc. This is the default on Linux. * sysdeps/unix/sysv/linux/configure.in: Define malloc to new-malloc by default. * new-malloc/Makefile: New file. Improved malloc implementation. * new-malloc/malloc.c: Likewise. * new-malloc/malloc.h: Likewise. * new-malloc/mallocbug.c: Likewise. * new-malloc/obstack.c: Likewise. * new-malloc/obstack.h: Likewise. * new-malloc/thread-m.h: Likewise. * time/Makefile: Compile ap.c with NO_MCHECK flag for now. * time/ap.c: Don't call mcheck if NO_MCHECK is defined. * resolv/Makefile: Add rule to rebuiild libresolv.so when libc.so changed. * stdio/feof.c: Update copyright. * stdio/stdio.h: Add field for lock to FILE structure. Add cast to *MAGIC constants to prevent warnings. * stdio-common/bug7.c: Correct test. Stream must not be closed twice. * stdlib/Makefile (routines): Add secure-getenv. * stdlib/secure-getenv.c: New file. __secure_getenv function moved to here from sysdeps/generic/getenv.c. Otherwise an application cannot replace the getenv function in the libc. * sysdeps/generic/getenv.c: Remove __secure_getenv function. * sysdeps/stub/getenv.c: Remove __secure_getenv alias. * sysdeps/mach/libc-lock.h: Define__libc_mutex_lock to __mutex_lock. * sysdeps/posix/fdopen.c: Update copyright. Don't use EXFUN. * time/test-tz.c: Comment fifth test out. PROBLEM. * time/tzset.c: De-ANSI-declfy. (__tzset): Don't increment pointer tz when no DST information is given. Sat Dec 7 23:47:54 1996 Ulrich Drepper * sysdeps/mach/libc-lock.h [_LIBC]: Add definition of __libc_mutex_lock. Patch by Thomas Bushnell. * sysdeps/unix/sysv/linux/timebits.h: Load only if __USE_MISC. * sysdeps/unix/sysv/linux/Dist: Add llseek.c. Sat Dec 7 12:18:56 1996 Ulrich Drepper * time/strftime (%c format): Remove %Z from default string. Reported by Paul Eggert * io/getwd.c: Don't apply getcwd on user supplied buffer. --- sysdeps/generic/getenv.c | 37 +++++++++++++----------------------- sysdeps/mach/libc-lock.h | 6 ++++++ sysdeps/posix/fdopen.c | 28 +++++++++++++-------------- sysdeps/stub/getenv.c | 27 +++++++++++++------------- sysdeps/unix/sysv/linux/alpha/Dist | 1 - sysdeps/unix/sysv/linux/configure | 35 ++++++++++++++++++++++++++++++---- sysdeps/unix/sysv/linux/configure.in | 3 +++ sysdeps/unix/sysv/linux/timebits.h | 8 +++++--- 8 files changed, 85 insertions(+), 60 deletions(-) (limited to 'sysdeps') diff --git a/sysdeps/generic/getenv.c b/sysdeps/generic/getenv.c index daf292743a..990ddfd93f 100644 --- a/sysdeps/generic/getenv.c +++ b/sysdeps/generic/getenv.c @@ -1,20 +1,20 @@ /* Copyright (C) 1991, 1992, 1994, 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. + This file is part of the GNU C Library. -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 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. + 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., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + 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. */ #include #include @@ -42,14 +42,3 @@ getenv (name) return NULL; } - - -/* Some programs and especially the libc itself have to be careful - what values to accept from the environment. This special version - checks for SUID or SGID first before doing any work. */ -char * -__secure_getenv (name) - const char *name; -{ - return __libc_enable_secure ? NULL : getenv (name); -} diff --git a/sysdeps/mach/libc-lock.h b/sysdeps/mach/libc-lock.h index 4954cc2952..23f6ed4e94 100644 --- a/sysdeps/mach/libc-lock.h +++ b/sysdeps/mach/libc-lock.h @@ -70,4 +70,10 @@ typedef struct __libc_lock_opaque__ __libc_lock_t; } +#ifdef _LIBC +/* We need portable names for some functions. E.g., when they are + used as argument to __libc_cleanup_region_start. */ +#define __libc_mutex_unlock __mutex_unlock +#endif + #endif /* libc-lock.h */ diff --git a/sysdeps/posix/fdopen.c b/sysdeps/posix/fdopen.c index fb2bda8824..4e7d3051eb 100644 --- a/sysdeps/posix/fdopen.c +++ b/sysdeps/posix/fdopen.c @@ -1,27 +1,27 @@ /* Copyright (C) 1991, 1992, 1993, 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. + This file is part of the GNU C Library. -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 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. + 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., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + 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. */ #include #include #include /* Defined in fopen.c. */ -extern int EXFUN(__getmode, (CONST char *mode, __io_mode *mptr)); +extern int __getmode (const char *mode, __io_mode *mptr); /* Open a new stream on a given system file descriptor. */ FILE * diff --git a/sysdeps/stub/getenv.c b/sysdeps/stub/getenv.c index f12964ed70..ec378f63cc 100644 --- a/sysdeps/stub/getenv.c +++ b/sysdeps/stub/getenv.c @@ -1,20 +1,20 @@ /* Copyright (C) 1991, 1995, 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. + This file is part of the GNU C Library. -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 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. + 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., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + 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. */ #include #include @@ -27,7 +27,6 @@ getenv (name) __set_errno (ENOSYS); return NULL; } -strong_alias (getenv, __secure_getenv) stub_warning (getenv) diff --git a/sysdeps/unix/sysv/linux/alpha/Dist b/sysdeps/unix/sysv/linux/alpha/Dist index d79f1f2970..d898d041a2 100644 --- a/sysdeps/unix/sysv/linux/alpha/Dist +++ b/sysdeps/unix/sysv/linux/alpha/Dist @@ -4,4 +4,3 @@ ioperm.c init-first.h clone.S sys/io.h -llseek.S diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure index 867d4fbe7a..6f3d181f9d 100644 --- a/sysdeps/unix/sysv/linux/configure +++ b/sysdeps/unix/sysv/linux/configure @@ -1,16 +1,43 @@ -; then + # Local configure fragment for sysdeps/unix/sysv/linux. + +# On Linux, the default is to use libio instead of stdio. +test $stdio = default && stdio=libio + +# We also use the new malloc by default. +test $malloc = default && malloc=new-malloc + +# 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 +echo "configure:15: checking installed Linux kernel header files" >&5 +if eval "test \"`echo '$''{'libc_cv_linux2010'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +int main() { +#if LINUX_VERSION_CODE < ( *65536+ 0 *256+ 10) /* .0.10 */ +eat flaming death +#endif +; return 0; } +EOF +if { (eval echo configure:29: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; 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 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 rm -rf conftest* libc_cv_linux2010='TOO OLD!' fi rm -f conftest* fi -echo "$ac_t""$libc_cv_linux2010" 1>&AC_FD_MSG +echo "$ac_t""$libc_cv_linux2010" 1>&6 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. diff --git a/sysdeps/unix/sysv/linux/configure.in b/sysdeps/unix/sysv/linux/configure.in index b6474a940c..fe499af438 100644 --- a/sysdeps/unix/sysv/linux/configure.in +++ b/sysdeps/unix/sysv/linux/configure.in @@ -5,6 +5,9 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. # On Linux, the default is to use libio instead of stdio. test $stdio = default && stdio=libio +# We also use the new malloc by default. +test $malloc = default && malloc=new-malloc + # 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 diff --git a/sysdeps/unix/sysv/linux/timebits.h b/sysdeps/unix/sysv/linux/timebits.h index 8aed9e94df..c31f481a60 100644 --- a/sysdeps/unix/sysv/linux/timebits.h +++ b/sysdeps/unix/sysv/linux/timebits.h @@ -33,9 +33,11 @@ struct timeval #ifndef _TIMEBITS_H -#define _TIMEBITS_H 1 +# define _TIMEBITS_H 1 -#include -#define CLOCKS_PER_SEC HZ /* XXX names not kosher */ +# ifdef __USE_MISC +# include +# define CLOCKS_PER_SEC HZ /* XXX names not kosher */ +# endif #endif /* timebits.h */ -- cgit 1.4.1