Update.
authorUlrich Drepper <drepper@redhat.com>
Wed, 25 Nov 1998 15:42:34 +0000 (15:42 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 25 Nov 1998 15:42:34 +0000 (15:42 +0000)
1998-11-25  Ulrich Drepper  <drepper@cygnus.com>

* version.h (VERSION): Bump to 2.0.104.

1998-11-25  Mark Kettenis  <kettenis@phys.uva.nl>

* libio/bits/stdio.h (fread_unlocked): Add missing parentheses
around parameter n.

1998-11-24  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

* time/tzfile.c (__tzfile_read): Fix comment.

1998-11-24  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

* Makerules (build-shlib): Pass -O1 down to linker to get
optimized shared libraries.

1998-11-24  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

* Makeconfig ($(common-objpfx)sysd-dirs): Cope with no Subdirs
file.  Strip "-" from inhibited subdir name.  Combine into a
single awk program.
($(common-objpfx)sysd-sorted): Fix sed command.

ChangeLog
FAQ
FAQ.in
Makeconfig
Makerules
libio/bits/stdio.h
time/tzfile.c
version.h

index 8bc8469..99c6b99 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,28 @@
+1998-11-25  Ulrich Drepper  <drepper@cygnus.com>
+
+       * version.h (VERSION): Bump to 2.0.104.
+
+1998-11-25  Mark Kettenis  <kettenis@phys.uva.nl>
+
+       * libio/bits/stdio.h (fread_unlocked): Add missing parentheses
+       around parameter n.
+
+1998-11-24  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+       * time/tzfile.c (__tzfile_read): Fix comment.
+
+1998-11-24  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+       * Makerules (build-shlib): Pass -O1 down to linker to get
+       optimized shared libraries.
+
+1998-11-24  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+       * Makeconfig ($(common-objpfx)sysd-dirs): Cope with no Subdirs
+       file.  Strip "-" from inhibited subdir name.  Combine into a
+       single awk program.
+       ($(common-objpfx)sysd-sorted): Fix sed command.
+
 1998-11-25  Roland McGrath  <roland@baalperazim.frob.com>
 
        * sysdeps/mach/hurd/i386/init-first.c (init): Restored as inline fn.
diff --git a/FAQ b/FAQ
index a3fddde..a3d3b5a 100644 (file)
--- a/FAQ
+++ b/FAQ
@@ -93,6 +93,7 @@ please let me know.
 2.23.  I just upgraded my Linux system to glibc and now I get
        errors whenever I try to link any program.
 2.24.  When I use nscd the machine freezes.
+2.25.  I need lots of open files.  What do I have to do?
 
 3. Source and binary incompatibilities, and what to do about them
 
@@ -943,6 +944,33 @@ If you need nscd, you have to use a 2.1 kernel.
 
 Note that I have at this point no information about any other platform.
 
+
+2.25.  I need lots of open files.  What do I have to do?
+
+{AJ} This is at first a kernel issue.  The kernel defines limits with
+OPEN_MAX the number of simultaneous open files and with FD_SETSIZE the
+number of used file descriptors.  You need to change these values in your
+kernel and recompile the kernel so that the kernel allows to use more open
+files.  You don't necessarily need to recompile the GNU C library since the
+only place where OPEN_MAX and FD_SETSIZE is really needed in the library
+itself is the size of fd_set which is used by select.
+
+The GNU C library is now (nearly) select free.  This means it internally has
+no limits imposed by the `fd_set' type.  Instead almost all places where the
+functionality is needed the `poll' function is used.
+
+If you increase the number of file descriptors in the kernel you don't need
+to recompile the C library.  The remaining select calls are in the RPC code.
+If your RPC daemons don't need more than FD_SETSIZE file descriptors, you
+don't need to change anything at all.
+
+{UD} You can always get the maximum number of file descriptors a process is
+allowed to have open at any time using
+
+       number = sysconf (_SC_OPEN_MAX);
+
+This will work even if the kernel limits change.
+
 \f
 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
 
diff --git a/FAQ.in b/FAQ.in
index c15611d..0da1961 100644 (file)
--- a/FAQ.in
+++ b/FAQ.in
@@ -776,6 +776,33 @@ If you need nscd, you have to use a 2.1 kernel.
 
 Note that I have at this point no information about any other platform.
 
+??     I need lots of open files.  What do I have to do?
+
+{AJ} This is at first a kernel issue.  The kernel defines limits with
+OPEN_MAX the number of simultaneous open files and with FD_SETSIZE the
+number of used file descriptors.  You need to change these values in your
+kernel and recompile the kernel so that the kernel allows to use more open
+files.  You don't necessarily need to recompile the GNU C library since the
+only place where OPEN_MAX and FD_SETSIZE is really needed in the library
+itself is the size of fd_set which is used by select.
+
+The GNU C library is now (nearly) select free.  This means it internally has
+no limits imposed by the `fd_set' type.  Instead almost all places where the
+functionality is needed the `poll' function is used.
+
+If you increase the number of file descriptors in the kernel you don't need
+to recompile the C library.  The remaining select calls are in the RPC code.
+If your RPC daemons don't need more than FD_SETSIZE file descriptors, you
+don't need to change anything at all.
+
+{UD} You can always get the maximum number of file descriptors a process is
+allowed to have open at any time using
+
+       number = sysconf (_SC_OPEN_MAX);
+
+This will work even if the kernel limits change.
+
+
 ? Source and binary incompatibilities, and what to do about them
 
 ??     I expect GNU libc to be 100% source code compatible with
index 2c13c20..ac3834a 100644 (file)
@@ -772,14 +772,14 @@ subdirs   := $(filter mach,$(subdirs)) $(filter hurd,$(subdirs)) \
 
 all-Subdirs-files = $(wildcard $(config-sysdirs:%=$(..)%/Subdirs))
 $(common-objpfx)sysd-dirs: $(common-objpfx)config.make $(all-Subdirs-files)
-       ($(AWK) 'END { printf ("sysdep-subdirs =") }' /dev/null;        \
-        $(AWK) '/^[^#-]/ { printf (" %s", $$0) }' $(all-Subdirs-files);\
-        echo;                                                          \
-        $(AWK) 'END { printf ("sysdep-inhibit-subdirs =") }' /dev/null;\
-        $(AWK) '/^-/ { printf (" %s", $$0) }' $(all-Subdirs-files);    \
-        echo;                                                          \
-        echo 'sysd-dirs-done = t';                                     \
-       ) > $@-tmp
+       $(AWK) 'BEGIN { subdirs = ""; inhibit = "" };                   \
+               /^#/ { next };                                          \
+               /^[^-]/ { subdirs = subdirs " " $$0 };                  \
+               /^-/ { inhibit = inhibit " " substr($$0, 2) };          \
+               END { printf "sysdep-subdirs =%s\n", subdirs;           \
+                     printf "sysdep-inhibit-subdirs =%s\n", inhibit;   \
+                     print "sysd-dirs-done = t" }'                     \
+              /dev/null $(all-Subdirs-files) > $@-tmp
        mv -f $@-tmp $@
 
 all-Depend-files = $(wildcard $(..)*/Depend)
index c18a569..b40362e 100644 (file)
--- a/Makerules
+++ b/Makerules
@@ -359,7 +359,7 @@ lib%.so: lib%_pic.a $(+preinit) $(+postinit) $(+interp)
        $(build-shlib)
 
 define build-shlib
-$(LINK.o) -shared -O -o $@ $(sysdep-LDFLAGS) $(config-LDFLAGS)  \
+$(LINK.o) -shared -Wl,-O1 -o $@ $(sysdep-LDFLAGS) $(config-LDFLAGS)  \
          -B$(csu-objpfx) $(load-map-file) \
          -Wl,-soname=lib$(libprefix)$(@F:lib%.so=%).so$($(@F)-version) \
          $(LDFLAGS.so) $(LDFLAGS-$(@F:lib%.so=%).so) \
index 8a15c6e..d698132 100644 (file)
@@ -144,7 +144,7 @@ ferror_unlocked (FILE *__stream) __THROW
                      || (__builtin_constant_p (n) && (n) == 0))              \
                        /* Evaluate all parameters once.  */                  \
                     ? ((void) (ptr), (void) (stream), (void) (size),         \
-                       (void) n, 0)                                          \
+                       (void) (n), 0)                                        \
                     : fread_unlocked (ptr, size, n, stream))))
 
 # define fwrite_unlocked(ptr, size, n, stream) \
index 2a1a953..497fe3f 100644 (file)
@@ -309,7 +309,7 @@ __tzfile_read (const char *file)
   compute_tzname_max (chars);
 
   if (num_transitions == 0)
-    /* Use the first rule (which should also be the only one.  */
+    /* Use the first rule (which should also be the only one).  */
     rule_stdoff = rule_dstoff = types[0].offset;
   else
     {
index 37e006f..c1013f1 100644 (file)
--- a/version.h
+++ b/version.h
@@ -1,4 +1,4 @@
 /* This file just defines the current version number of libc.  */
 
 #define RELEASE "experimental"
-#define VERSION "2.0.103"
+#define VERSION "2.0.104"