1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00
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.
This commit is contained in:
Ulrich Drepper
1999-08-28 22:34:29 +00:00
parent a125d9b46e
commit d01d63190b
13 changed files with 115 additions and 31 deletions

View File

@ -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> 1999-08-26 Andreas Schwab <schwab@suse.de>
* locale/langinfo.h (YESSTR, NOSTR): Still define if __USE_GNU. * locale/langinfo.h (YESSTR, NOSTR): Still define if __USE_GNU.

View File

@ -478,6 +478,10 @@ test -n "$aux_missing" && AC_MSG_WARN([
*** some features will be disabled. *** some features will be disabled.
*** Check the INSTALL file for required versions.]) *** 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_PROG_CC_LOCAL
AC_CANONICAL_BUILD AC_CANONICAL_BUILD
if test $host != $build; then if test $host != $build; then

View File

@ -10,6 +10,7 @@ RELEASE="@RELEASE@"
ADDONS="@subdirs@" ADDONS="@subdirs@"
HOST="@host@" HOST="@host@"
CC='@CC@' CC='@CC@'
CCVERSION='@CCVERSION@'
CFLAGS="@CFLAGS@" CFLAGS="@CFLAGS@"
SYSINCLUDES="@SYSINCLUDES@" SYSINCLUDES="@SYSINCLUDES@"
VERSIONING="@VERSIONING@" VERSIONING="@VERSIONING@"
@ -109,7 +110,6 @@ SYSTEM=`( [ -f /bin/uname ] && /bin/uname -a ) || \
( [ -f /usr/bin/uname ] && /usr/bin/uname -a ) || echo ""` ( [ -f /usr/bin/uname ] && /usr/bin/uname -a ) || echo ""`
ARCH=`[ -f /bin/arch ] && /bin/arch` ARCH=`[ -f /bin/arch ] && /bin/arch`
MACHINE=`[ -f /bin/machine ] && /bin/machine` MACHINE=`[ -f /bin/machine ] && /bin/machine`
CCVERSION=`$CC -v 2>&1 | sed -n 's/gcc version //p'`
case $HOST in *linux*) case $HOST in *linux*)
KHDRS=`(echo '#include <linux/version.h>' KHDRS=`(echo '#include <linux/version.h>'

View File

@ -56,6 +56,7 @@ enum
IPPROTO_MTP = 92, /* Multicast Transport Protocol. */ IPPROTO_MTP = 92, /* Multicast Transport Protocol. */
IPPROTO_ENCAP = 98, /* Encapsulation Header. */ IPPROTO_ENCAP = 98, /* Encapsulation Header. */
IPPROTO_PIM = 103, /* Protocol Independent Multicast. */ IPPROTO_PIM = 103, /* Protocol Independent Multicast. */
IPPROTO_COMP = 108, /* Compression Header Protocol. */
IPPROTO_RAW = 255, /* Raw IP packets. */ IPPROTO_RAW = 255, /* Raw IP packets. */
IPPROTO_MAX IPPROTO_MAX
}; };

View File

@ -305,6 +305,10 @@
# include <sys/types.h> # include <sys/types.h>
#endif #endif
#ifndef _LIBC
# define __secure_getenv(Str) getenv (Str)
#endif
/* Macros for handling mutexes and thread-specific data. This is /* Macros for handling mutexes and thread-specific data. This is
included early, because some thread-related header files (such as included early, because some thread-related header files (such as
pthread.h) should be included before any others. */ 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); thread_atfork(ptmalloc_lock_all, ptmalloc_unlock_all, ptmalloc_init_all);
#endif /* !defined NO_THREADS */ #endif /* !defined NO_THREADS */
#if defined _LIBC || defined MALLOC_HOOKS #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)); 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)); 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)); 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)); mALLOPt(M_MMAP_MAX, atoi(s));
s = getenv("MALLOC_CHECK_"); s = getenv("MALLOC_CHECK_");
#ifndef NO_THREADS #ifndef NO_THREADS

View File

@ -17,7 +17,7 @@ access permissions and modification times.
file names. file names.
* Accessing Directories:: Finding out what files a directory * Accessing Directories:: Finding out what files a directory
contains. 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. subset of a directory hierarchy.
* Hard Links:: Adding alternate names to a file. * Hard Links:: Adding alternate names to a file.
* Symbolic Links:: A file that ``points to'' a file name. * 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 While traversing the directory symbolic links are not followed. Instead
symbolic links are reported using the @code{FTW_SL} value for the type symbolic links are reported using the @code{FTW_SL} value for the type
parameter to the callback function. If the file referenced by a 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 @item FTW_MOUNT
The callback function is only called for items which are on the same The callback function is only called for items which are on the same
mounted filesystem as the directory given by the @var{filename} 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 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 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 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. 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 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 attributes, contains two kinds of information: the file type code, and
the access permission bits. This section discusses only the access the access permission bits. This section discusses only the access
permission bits, which control who can read or write the file. 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 All of the symbols listed in this section are defined in the header file
@file{sys/stat.h}. @file{sys/stat.h}.

View 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. 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}. 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 @node Tools for Compilation
@appendixsec Recommended Tools for Compilation @appendixsec Recommended Tools for Compilation
@cindex installation tools @cindex installation tools

View File

@ -17,9 +17,9 @@
@comment %**end of header (This is for running Texinfo on a region.) @comment %**end of header (This is for running Texinfo on a region.)
@c sold 0.06/1.09, print run out 21may96 @c sold 0.06/1.09, print run out 21may96
@set EDITION 0.08 DRAFT @set EDITION 0.09 DRAFT
@set VERSION 2.1 Beta @set VERSION 2.2 Beta
@set UPDATED 11 Jan 1999 @set UPDATED 28 Aug 1999
@set ISBN 1-882114-53-1 @set ISBN 1-882114-53-1
@ifinfo @ifinfo

View 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 correctly there should never be a misunderstanding over the time and
date format. date format.
@node Formatting Numbers, Locale Information, Locales @node Formatting Numbers, , Locale Information, Locales
@section A dedicated function to format numbers @section A dedicated function to format numbers
We have seen that the structure returned by @code{localeconv} as well as We have seen that the structure returned by @code{localeconv} as well as

View File

@ -103,7 +103,7 @@ enum __socket_type
#define AF_DECnet PF_DECnet #define AF_DECnet PF_DECnet
#define AF_NETBEUI PF_NETBEUI #define AF_NETBEUI PF_NETBEUI
#define AF_SECURITY PF_SECURITY #define AF_SECURITY PF_SECURITY
#define pseudo_AF_KEY PF_KEY #define AF_KEY PF_KEY
#define AF_NETLINK PF_NETLINK #define AF_NETLINK PF_NETLINK
#define AF_ROUTE PF_ROUTE #define AF_ROUTE PF_ROUTE
#define AF_PACKET PF_PACKET #define AF_PACKET PF_PACKET
@ -192,9 +192,9 @@ enum
#define MSG_URG MSG_URG #define MSG_URG MSG_URG
MSG_RST = 0x1000, MSG_RST = 0x1000,
#define MSG_RST MSG_RST #define MSG_RST MSG_RST
MSG_ERRQUEUE = 0x2000, MSG_ERRQUEUE = 0x2000, /* Fetch message from error queue. */
#define MSG_ERRQUEUE MSG_ERRQUEUE #define MSG_ERRQUEUE MSG_ERRQUEUE
MSG_NOSIGNAL = 0x4000 MSG_NOSIGNAL = 0x4000 /* Do not generate SIGPIPE. */
#define MSG_NOSIGNAL MSG_NOSIGNAL #define MSG_NOSIGNAL MSG_NOSIGNAL
}; };

View File

@ -55,18 +55,20 @@ struct sigaction
}; };
/* Bits in `sa_flags'. */ /* 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 #define SA_SIGINFO 0x00000008 /* Invoke signal-catching function with
three arguments instead of one. */ three arguments instead of one. */
#if defined __USE_UNIX98 || defined __USE_MISC #if defined __USE_UNIX98 || defined __USE_MISC
# define SA_ONSTACK 0x00000001 /* Use signal stack by using `sa_restorer'. */ # define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */
# define SA_RESETHAND 0x00000002 /* Reset to SIG_DFL on entry to handler. */ # define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */
# define SA_RESTART 0x00000004 /* Restart syscall on signal return. */ # define SA_RESTART 0x10000000 /* Restart syscall on signal return. */
# define SA_NODEFER 0x00000010 /* Don't automatically block the signal when # define SA_NODEFER 0x40000000 /* Don't automatically block the signal when
its handler is being executed. */ its handler is being executed. */
#endif #endif
#ifdef __USE_MISC #ifdef __USE_MISC
# define SA_INTERRUPT 0x01000000 /* Historical no-op. */ # define SA_INTERRUPT 0x20000000 /* Historical no-op. */
/* Some aliases for the SA_ constants. */ /* Some aliases for the SA_ constants. */
# define SA_NOMASK SA_NODEFER # define SA_NOMASK SA_NODEFER

View File

@ -82,6 +82,7 @@ enum __socket_type
#define PF_ECONET 19 /* Acorn Econet. */ #define PF_ECONET 19 /* Acorn Econet. */
#define PF_ATMSVC 20 /* ATM SVCs. */ #define PF_ATMSVC 20 /* ATM SVCs. */
#define PF_SNA 22 /* Linux SNA Project */ #define PF_SNA 22 /* Linux SNA Project */
#define PF_IRDA 23 /* IRDA sockets. */
#define PF_MAX 32 /* For now.. */ #define PF_MAX 32 /* For now.. */
/* Address families. */ /* Address families. */
@ -102,7 +103,7 @@ enum __socket_type
#define AF_DECnet PF_DECnet #define AF_DECnet PF_DECnet
#define AF_NETBEUI PF_NETBEUI #define AF_NETBEUI PF_NETBEUI
#define AF_SECURITY PF_SECURITY #define AF_SECURITY PF_SECURITY
#define pseudo_AF_KEY PF_KEY #define AF_KEY PF_KEY
#define AF_NETLINK PF_NETLINK #define AF_NETLINK PF_NETLINK
#define AF_ROUTE PF_ROUTE #define AF_ROUTE PF_ROUTE
#define AF_PACKET PF_PACKET #define AF_PACKET PF_PACKET
@ -110,6 +111,7 @@ enum __socket_type
#define AF_ECONET PF_ECONET #define AF_ECONET PF_ECONET
#define AF_ATMSVC PF_ATMSVC #define AF_ATMSVC PF_ATMSVC
#define AF_SNA PF_SNA #define AF_SNA PF_SNA
#define AF_IRDA PF_IRDA
#define AF_MAX PF_MAX #define AF_MAX PF_MAX
/* Socket level values. Others are defined in the appropriate headers. /* Socket level values. Others are defined in the appropriate headers.
@ -119,6 +121,10 @@ enum __socket_type
#define SOL_RAW 255 #define SOL_RAW 255
#define SOL_DECNET 261 #define SOL_DECNET 261
#define SOL_X25 262 #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. */ /* Maximum queue length specifiable by listen. */
#define SOMAXCONN 128 #define SOMAXCONN 128
@ -137,17 +143,17 @@ struct sockaddr
/* Structure large enough to hold any socket address (with the historical /* Structure large enough to hold any socket address (with the historical
exception of AF_UNIX). We reserve 128 bytes. */ exception of AF_UNIX). We reserve 128 bytes. */
#if ULONG_MAX > 0xffffffff #if ULONG_MAX > 0xffffffff
# define __ss_align __uint64_t # define __ss_aligntype __uint64_t
#else #else
# define __ss_align __uint32_t # define __ss_aligntype __uint32_t
#endif #endif
#define _SS_SIZE 128 #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 struct sockaddr_storage
{ {
__SOCKADDR_COMMON (__ss_); /* Address family, etc. */ __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]; char __ss_padding[_SS_PADSIZE];
}; };
@ -161,10 +167,35 @@ enum
#define MSG_PEEK MSG_PEEK #define MSG_PEEK MSG_PEEK
MSG_DONTROUTE = 0x04, /* Don't use local routing. */ MSG_DONTROUTE = 0x04, /* Don't use local routing. */
#define MSG_DONTROUTE MSG_DONTROUTE #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. */ MSG_CTRUNC = 0x08, /* Control data lost before delivery. */
#define MSG_CTRUNC MSG_CTRUNC #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 #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)) if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))
/* The kernel header does this so there may be a reason. */ /* The kernel header does this so there may be a reason. */
return NULL; return 0;
__cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg __cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg
+ CMSG_ALIGN (__cmsg->cmsg_len)); + 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 *) __cmsg + CMSG_ALIGN (__cmsg->cmsg_len)
>= ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen))) >= ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen)))
/* No more entries. */ /* No more entries. */
return NULL; return 0;
return __cmsg; return __cmsg;
} }
#endif /* Use `extern inline'. */ #endif /* Use `extern inline'. */

View File

@ -1,5 +1,5 @@
/* Definitions for use with Linux AF_PACKET sockets. /* 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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or 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_ADD_MEMBERSHIP 1
#define PACKET_DROP_MEMBERSHIP 2 #define PACKET_DROP_MEMBERSHIP 2
#define PACKET_RECV_OUTPUT 3
#define PACKET_RX_RING 5
#define PACKET_STATISTICS 6
struct packet_mreq struct packet_mreq
{ {