aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog22
-rw-r--r--configure.in4
-rw-r--r--glibcbug.in2
-rw-r--r--inet/netinet/in.h1
-rw-r--r--malloc/malloc.c12
-rw-r--r--manual/filesys.texi8
-rw-r--r--manual/install.texi17
-rw-r--r--manual/libc.texinfo6
-rw-r--r--manual/locale.texi2
-rw-r--r--sysdeps/unix/sysv/linux/bits/socket.h6
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/sigaction.h14
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/socket.h47
-rw-r--r--sysdeps/unix/sysv/linux/netpacket/packet.h5
13 files changed, 115 insertions, 31 deletions
diff --git a/ChangeLog b/ChangeLog
index c37ff06..0f2ec69 100644
--- 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.
diff --git a/configure.in b/configure.in
index d79d387..640308a 100644
--- a/configure.in
+++ b/configure.in
@@ -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
diff --git a/glibcbug.in b/glibcbug.in
index 733f5d9..c47a772 100644
--- a/glibcbug.in
+++ b/glibcbug.in
@@ -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>'
diff --git a/inet/netinet/in.h b/inet/netinet/in.h
index 10dae19..e57d9e0 100644
--- a/inet/netinet/in.h
+++ b/inet/netinet/in.h
@@ -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
};
diff --git a/malloc/malloc.c b/malloc/malloc.c
index eba2a60..98a248b 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -305,6 +305,10 @@
# 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
diff --git a/manual/filesys.texi b/manual/filesys.texi
index 88ff636..728b904 100644
--- a/manual/filesys.texi
+++ b/manual/filesys.texi
@@ -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}.
diff --git a/manual/install.texi b/manual/install.texi
index a72eee6..19b7196 100644
--- a/manual/install.texi
+++ b/manual/install.texi
@@ -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
diff --git a/manual/libc.texinfo b/manual/libc.texinfo
index ee5ee05..684c49d 100644
--- a/manual/libc.texinfo
+++ b/manual/libc.texinfo
@@ -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
diff --git a/manual/locale.texi b/manual/locale.texi
index 096ac48..9d1dd8c 100644
--- a/manual/locale.texi
+++ b/manual/locale.texi
@@ -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
diff --git a/sysdeps/unix/sysv/linux/bits/socket.h b/sysdeps/unix/sysv/linux/bits/socket.h
index 1930670..491b133 100644
--- a/sysdeps/unix/sysv/linux/bits/socket.h
+++ b/sysdeps/unix/sysv/linux/bits/socket.h
@@ -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
};
diff --git a/sysdeps/unix/sysv/linux/mips/bits/sigaction.h b/sysdeps/unix/sysv/linux/mips/bits/sigaction.h
index 8d08027..963b425 100644
--- a/sysdeps/unix/sysv/linux/mips/bits/sigaction.h
+++ b/sysdeps/unix/sysv/linux/mips/bits/sigaction.h
@@ -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
diff --git a/sysdeps/unix/sysv/linux/mips/bits/socket.h b/sysdeps/unix/sysv/linux/mips/bits/socket.h
index 5dbdee4..74f54e8 100644
--- a/sysdeps/unix/sysv/linux/mips/bits/socket.h
+++ b/sysdeps/unix/sysv/linux/mips/bits/socket.h
@@ -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'. */
diff --git a/sysdeps/unix/sysv/linux/netpacket/packet.h b/sysdeps/unix/sysv/linux/netpacket/packet.h
index a382654..77e2720 100644
--- a/sysdeps/unix/sysv/linux/netpacket/packet.h
+++ b/sysdeps/unix/sysv/linux/netpacket/packet.h
@@ -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
{