+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.
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
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
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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
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)
$(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) \
|| (__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) \
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
{
/* This file just defines the current version number of libc. */
#define RELEASE "experimental"
-#define VERSION "2.0.103"
+#define VERSION "2.0.104"