Update.
authorUlrich Drepper <drepper@redhat.com>
Sat, 28 Aug 1999 22:34:29 +0000 (22:34 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sat, 28 Aug 1999 22:34:29 +0000 (22:34 +0000)
1999-08-28  Ulrich Drepper  <drepper@cygnus.com>

* malloc/malloc.c (ptmalloc_init): Don't use variables to set
thresholds for SUID binaries.  [PR libc/1277]

1999-08-28  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

* manual/install.texi (Running make install): Give examples for
timezone and locale installation.

1999-08-28  Zack Weinberg  <zack@bitmover.com>

* glibcbug.in: Get CCVERSION from autoconf substitution.
* configure.in: Calculate and substitute CCVERSION.

1999-08-28  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

* sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Fix sa_flags,
partially reverting a patch from 1998-12-29.  We just can't change
the flags, kernels with different flags lead to
incompatibilities.

13 files changed:
ChangeLog
configure.in
glibcbug.in
inet/netinet/in.h
malloc/malloc.c
manual/filesys.texi
manual/install.texi
manual/libc.texinfo
manual/locale.texi
sysdeps/unix/sysv/linux/bits/socket.h
sysdeps/unix/sysv/linux/mips/bits/sigaction.h
sysdeps/unix/sysv/linux/mips/bits/socket.h
sysdeps/unix/sysv/linux/netpacket/packet.h

index c37ff06..0f2ec69 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+1999-08-28  Ulrich Drepper  <drepper@cygnus.com>
+
+       * malloc/malloc.c (ptmalloc_init): Don't use variables to set
+       thresholds for SUID binaries.  [PR libc/1277]
+
+1999-08-28  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+       * manual/install.texi (Running make install): Give examples for
+       timezone and locale installation.
+
+1999-08-28  Zack Weinberg  <zack@bitmover.com>
+
+       * glibcbug.in: Get CCVERSION from autoconf substitution.
+       * configure.in: Calculate and substitute CCVERSION.
+
+1999-08-28  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+       * sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Fix sa_flags,
+       partially reverting a patch from 1998-12-29.  We just can't change 
+       the flags, kernels with different flags lead to
+       incompatibilities.
+
 1999-08-26  Andreas Schwab  <schwab@suse.de>
 
        * locale/langinfo.h (YESSTR, NOSTR): Still define if __USE_GNU.
index d79d387..640308a 100644 (file)
@@ -478,6 +478,10 @@ test -n "$aux_missing" && AC_MSG_WARN([
 *** some features will be disabled.
 *** Check the INSTALL file for required versions.])
 
+# glibcbug.in wants to know the compiler version.
+CCVERSION=`$CC -v 2>&1 | sed -n 's/gcc version //p'`
+AC_SUBST(CCVERSION)
+
 AC_PROG_CC_LOCAL
 AC_CANONICAL_BUILD
 if test $host != $build; then
index 733f5d9..c47a772 100644 (file)
@@ -10,6 +10,7 @@ RELEASE="@RELEASE@"
 ADDONS="@subdirs@"
 HOST="@host@"
 CC='@CC@'
+CCVERSION='@CCVERSION@'
 CFLAGS="@CFLAGS@"
 SYSINCLUDES="@SYSINCLUDES@"
 VERSIONING="@VERSIONING@"
@@ -109,7 +110,6 @@ SYSTEM=`( [ -f /bin/uname ] && /bin/uname -a ) || \
         ( [ -f /usr/bin/uname ] && /usr/bin/uname -a ) || echo ""`
 ARCH=`[ -f /bin/arch ] && /bin/arch`
 MACHINE=`[ -f /bin/machine ] && /bin/machine`
-CCVERSION=`$CC -v 2>&1 | sed -n 's/gcc version //p'`
 
 case $HOST in *linux*)
   KHDRS=`(echo '#include <linux/version.h>'
index 10dae19..e57d9e0 100644 (file)
@@ -56,6 +56,7 @@ enum
     IPPROTO_MTP = 92,     /* Multicast Transport Protocol.  */
     IPPROTO_ENCAP = 98,           /* Encapsulation Header.  */
     IPPROTO_PIM = 103,    /* Protocol Independent Multicast.  */
+    IPPROTO_COMP = 108,           /* Compression Header Protocol.  */
     IPPROTO_RAW = 255,    /* Raw IP packets.  */
     IPPROTO_MAX
   };
index eba2a60..98a248b 100644 (file)
 # include <sys/types.h>
 #endif
 
+#ifndef _LIBC
+# define __secure_getenv(Str) getenv (Str)
+#endif
+
 /* Macros for handling mutexes and thread-specific data.  This is
    included early, because some thread-related header files (such as
    pthread.h) should be included before any others. */
@@ -1674,13 +1678,13 @@ ptmalloc_init __MALLOC_P((void))
   thread_atfork(ptmalloc_lock_all, ptmalloc_unlock_all, ptmalloc_init_all);
 #endif /* !defined NO_THREADS */
 #if defined _LIBC || defined MALLOC_HOOKS
-  if((s = getenv("MALLOC_TRIM_THRESHOLD_")))
+  if((s = __secure_getenv("MALLOC_TRIM_THRESHOLD_")))
     mALLOPt(M_TRIM_THRESHOLD, atoi(s));
-  if((s = getenv("MALLOC_TOP_PAD_")))
+  if((s = __secure_getenv("MALLOC_TOP_PAD_")))
     mALLOPt(M_TOP_PAD, atoi(s));
-  if((s = getenv("MALLOC_MMAP_THRESHOLD_")))
+  if((s = __secure_getenv("MALLOC_MMAP_THRESHOLD_")))
     mALLOPt(M_MMAP_THRESHOLD, atoi(s));
-  if((s = getenv("MALLOC_MMAP_MAX_")))
+  if((s = __secure_getenv("MALLOC_MMAP_MAX_")))
     mALLOPt(M_MMAP_MAX, atoi(s));
   s = getenv("MALLOC_CHECK_");
 #ifndef NO_THREADS
index 88ff636..728b904 100644 (file)
@@ -17,7 +17,7 @@ access permissions and modification times.
                                 file names.
 * Accessing Directories::       Finding out what files a directory
                                 contains.
-* Working on Directory Trees::  Apply actions to all files or a selectable
+* Working with Directory Trees:: Apply actions to all files or a selectable
                                  subset of a directory hierarchy.
 * Hard Links::                  Adding alternate names to a file.
 * Symbolic Links::              A file that ``points to'' a file name.
@@ -793,7 +793,7 @@ is @math{0} or a bitwise-OR combination of any of the following values.
 While traversing the directory symbolic links are not followed.  Instead
 symbolic links are reported using the @code{FTW_SL} value for the type
 parameter to the callback function.  If the file referenced by a
-symbolic link does not exist {FTW_SLN} is returned instead.
+symbolic link does not exist @code{FTW_SLN} is returned instead.
 @item FTW_MOUNT
 The callback function is only called for items which are on the same
 mounted filesystem as the directory given by the @var{filename}
@@ -1826,7 +1826,7 @@ main purpose is for access control.
 The file owner and group play a role in determining access because the
 file has one set of access permission bits for the owner, another set
 that applies to users who belong to the file's group, and a third set of
-bits that applies to everyone else.  @xref{Access Permission} for the
+bits that applies to everyone else.  @xref{Access Permission}, for the
 details of how access is decided based on this data.
 
 When a file is created, its owner is set to the effective user ID of the
@@ -1915,7 +1915,7 @@ The @dfn{file mode}, stored in the @code{st_mode} field of the file
 attributes, contains two kinds of information: the file type code, and
 the access permission bits.  This section discusses only the access
 permission bits, which control who can read or write the file.
-@xref{Testing File Type} for information about the file type code.
+@xref{Testing File Type}, for information about the file type code.
 
 All of the symbols listed in this section are defined in the header file
 @file{sys/stat.h}.
index a72eee6..19b7196 100644 (file)
@@ -267,6 +267,23 @@ newer Linux kernel with the @code{devptsfs} or @code{devfs} filesystems
 providing pty slaves, you don't need this program; otherwise you do.
 The source for @file{pt_chown} is in @file{login/programs/pt_chown.c}.
 
+After installation you might want to configure the timezone and locale
+installation of your system.  The GNU C library comes with a locale
+database which gets configured with @code{localedef}.  For example, to
+set up a German locale with name @code{de_DE}, simply issue the command
+@samp{localedef -i de_DE -f ISO-8859-1 de_DE}.  To configure all locales 
+that are supported by glibc, you can issue from your build directory the 
+command @samp{make localedata/install-locales}.
+
+To configure the locally used timezone, you can either set the @code{TZ}
+environment variable.  The script @code{tzselect} helps you to select
+the right value.  As an example for Germany, tzselect would tell you to
+use @samp{TZ='Europe/Berlin'}.  For a system wide installation (the
+given paths are for an installation with @samp{--prefix=/usr}), link the 
+timezone file which is in @file{/usr/share/zoneinfo} to the file
+@file{/etc/localtime}.  For Germany, you might execute @samp{ln -s
+/usr/share/zoneinfo/Europe/Berlin /etc/localtime}.
+
 @node Tools for Compilation
 @appendixsec Recommended Tools for Compilation
 @cindex installation tools
index ee5ee05..684c49d 100644 (file)
@@ -17,9 +17,9 @@
 @comment %**end of header (This is for running Texinfo on a region.)
 
 @c sold 0.06/1.09, print run out 21may96
-@set EDITION 0.08 DRAFT
-@set VERSION 2.1 Beta
-@set UPDATED 11 Jan 1999
+@set EDITION 0.09 DRAFT
+@set VERSION 2.2 Beta
+@set UPDATED 28 Aug 1999
 @set ISBN 1-882114-53-1
 
 @ifinfo
index 096ac48..9d1dd8c 100644 (file)
@@ -914,7 +914,7 @@ selected when the program runs.  If the user selects the locale
 correctly there should never be a misunderstanding over the time and
 date format.
 
-@node Formatting Numbers, Locale Information, Locales
+@node Formatting Numbers, Locale Information, Locales
 @section A dedicated function to format numbers
 
 We have seen that the structure returned by @code{localeconv} as well as
index 1930670..491b133 100644 (file)
@@ -103,7 +103,7 @@ enum __socket_type
 #define        AF_DECnet       PF_DECnet
 #define        AF_NETBEUI      PF_NETBEUI
 #define        AF_SECURITY     PF_SECURITY
-#define        pseudo_AF_KEY   PF_KEY
+#define        AF_KEY          PF_KEY
 #define        AF_NETLINK      PF_NETLINK
 #define        AF_ROUTE        PF_ROUTE
 #define        AF_PACKET       PF_PACKET
@@ -192,9 +192,9 @@ enum
 #define        MSG_URG         MSG_URG
     MSG_RST            = 0x1000,
 #define        MSG_RST         MSG_RST
-    MSG_ERRQUEUE       = 0x2000,
+    MSG_ERRQUEUE       = 0x2000, /* Fetch message from error queue.  */
 #define        MSG_ERRQUEUE    MSG_ERRQUEUE
-    MSG_NOSIGNAL       = 0x4000
+    MSG_NOSIGNAL       = 0x4000  /* Do not generate SIGPIPE.  */
 #define        MSG_NOSIGNAL    MSG_NOSIGNAL
   };
 
index 8d08027..963b425 100644 (file)
@@ -55,18 +55,20 @@ struct sigaction
   };
 
 /* Bits in `sa_flags'.  */
-#define SA_NOCLDSTOP  0x00020000 /* Don't send SIGCHLD when children stop.  */
+/* Please note that some Linux kernels versions use different values for these
+   flags which is a bug in those kernel versions.  */
+#define SA_NOCLDSTOP  0x00000001 /* Don't send SIGCHLD when children stop.  */
 #define SA_SIGINFO    0x00000008 /* Invoke signal-catching function with
                                    three arguments instead of one.  */
 #if defined __USE_UNIX98 || defined __USE_MISC
-# define SA_ONSTACK   0x00000001 /* Use signal stack by using `sa_restorer'. */
-# define SA_RESETHAND 0x00000002 /* Reset to SIG_DFL on entry to handler.  */
-# define SA_RESTART   0x00000004 /* Restart syscall on signal return.  */
-# define SA_NODEFER   0x00000010 /* Don't automatically block the signal when
+# define SA_ONSTACK   0x08000000 /* Use signal stack by using `sa_restorer'. */
+# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler.  */
+# define SA_RESTART   0x10000000 /* Restart syscall on signal return.  */
+# define SA_NODEFER   0x40000000 /* Don't automatically block the signal when
                                    its handler is being executed.  */
 #endif
 #ifdef __USE_MISC
-# define SA_INTERRUPT 0x01000000 /* Historical no-op.  */
+# define SA_INTERRUPT 0x20000000 /* Historical no-op.  */
 
 /* Some aliases for the SA_ constants.  */
 # define SA_NOMASK    SA_NODEFER
index 5dbdee4..74f54e8 100644 (file)
@@ -82,6 +82,7 @@ enum __socket_type
 #define        PF_ECONET       19      /* Acorn Econet.  */
 #define        PF_ATMSVC       20      /* ATM SVCs.  */
 #define        PF_SNA          22      /* Linux SNA Project */
+#define        PF_IRDA         23      /* IRDA sockets.  */
 #define        PF_MAX          32      /* For now..  */
 
 /* Address families.  */
@@ -102,7 +103,7 @@ enum __socket_type
 #define        AF_DECnet       PF_DECnet
 #define        AF_NETBEUI      PF_NETBEUI
 #define        AF_SECURITY     PF_SECURITY
-#define        pseudo_AF_KEY   PF_KEY
+#define        AF_KEY          PF_KEY
 #define        AF_NETLINK      PF_NETLINK
 #define        AF_ROUTE        PF_ROUTE
 #define        AF_PACKET       PF_PACKET
@@ -110,6 +111,7 @@ enum __socket_type
 #define        AF_ECONET       PF_ECONET
 #define        AF_ATMSVC       PF_ATMSVC
 #define        AF_SNA          PF_SNA
+#define        AF_IRDA         PF_IRDA
 #define        AF_MAX          PF_MAX
 
 /* Socket level values.  Others are defined in the appropriate headers.
@@ -119,6 +121,10 @@ enum __socket_type
 #define SOL_RAW                255
 #define SOL_DECNET      261
 #define SOL_X25         262
+#define SOL_PACKET     263
+#define SOL_ATM                264     /* ATM layer (cell level).  */
+#define SOL_AAL                265     /* ATM Adaption Layer (packet level).  */
+#define SOL_IRDA       266
 
 /* Maximum queue length specifiable by listen.  */
 #define SOMAXCONN      128
@@ -137,17 +143,17 @@ struct sockaddr
 /* Structure large enough to hold any socket address (with the historical
    exception of AF_UNIX).  We reserve 128 bytes.  */
 #if ULONG_MAX > 0xffffffff
-# define __ss_align    __uint64_t
+# define __ss_aligntype        __uint64_t
 #else
-# define __ss_align    __uint32_t
+# define __ss_aligntype        __uint32_t
 #endif
 #define _SS_SIZE       128
-#define _SS_PADSIZE    (_SS_SIZE - (2 * sizeof(__ss_align)))
+#define _SS_PADSIZE    (_SS_SIZE - (2 * sizeof (__ss_aligntype)))
 
 struct sockaddr_storage
   {
     __SOCKADDR_COMMON (__ss_); /* Address family, etc.  */
-    __ss_align __ss_align;     /* Force desired alignment.  */
+    __ss_aligntype __ss_align; /* Force desired alignment.  */
     char __ss_padding[_SS_PADSIZE];
   };
 
@@ -161,10 +167,35 @@ enum
 #define MSG_PEEK       MSG_PEEK
     MSG_DONTROUTE      = 0x04, /* Don't use local routing.  */
 #define MSG_DONTROUTE  MSG_DONTROUTE
+#ifdef __USE_GNU
+    /* DECnet uses a different name.  */
+    MSG_TRYHARD                = MSG_DONTROUTE,
+# define MSG_TRYHARD   MSG_DONTROUTE
+#endif
     MSG_CTRUNC         = 0x08, /* Control data lost before delivery.  */
 #define MSG_CTRUNC     MSG_CTRUNC
-    MSG_PROXY          = 0x10  /* Supply or ask second address.  */
+    MSG_PROXY          = 0x10, /* Supply or ask second address.  */
 #define MSG_PROXY      MSG_PROXY
+    MSG_TRUNC          = 0x20,
+#define        MSG_TRUNC       MSG_TRUNC
+    MSG_DONTWAIT       = 0x40, /* Nonblocking IO.  */
+#define        MSG_DONTWAIT    MSG_DONTWAIT
+    MSG_EOR            = 0x80, /* End of record.  */
+#define        MSG_EOR         MSG_EOR
+    MSG_WAITALL                = 0x100, /* Wait for a full request.  */
+#define        MSG_WAITALL     MSG_WAITALL
+    MSG_FIN            = 0x200,
+#define        MSG_FIN         MSG_FIN
+    MSG_SYN            = 0x400,
+#define        MSG_SYN         MSG_SYN
+    MSG_URG            = 0x800,
+#define        MSG_URG         MSG_URG
+    MSG_RST            = 0x1000,
+#define        MSG_RST         MSG_RST
+    MSG_ERRQUEUE       = 0x2000, /* Fetch message from error queue.  */
+#define        MSG_ERRQUEUE    MSG_ERRQUEUE
+    MSG_NOSIGNAL       = 0x4000  /* Do not generate SIGPIPE.  */
+#define        MSG_NOSIGNAL    MSG_NOSIGNAL
   };
 
 
@@ -224,7 +255,7 @@ __cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg) __THROW
 {
   if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))
     /* The kernel header does this so there may be a reason.  */
-    return NULL;
+    return 0;
 
   __cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg
                               + CMSG_ALIGN (__cmsg->cmsg_len));
@@ -233,7 +264,7 @@ __cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg) __THROW
       || ((unsigned char *) __cmsg + CMSG_ALIGN (__cmsg->cmsg_len)
          >= ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen)))
     /* No more entries.  */
-    return NULL;
+    return 0;
   return __cmsg;
 }
 #endif /* Use `extern inline'.  */
index a382654..77e2720 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions for use with Linux AF_PACKET sockets.
-   Copyright (C) 1998 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999 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
@@ -45,6 +45,9 @@ struct sockaddr_ll
 
 #define PACKET_ADD_MEMBERSHIP          1
 #define PACKET_DROP_MEMBERSHIP         2
+#define        PACKET_RECV_OUTPUT              3
+#define        PACKET_RX_RING                  5
+#define        PACKET_STATISTICS               6
 
 struct packet_mreq
   {