update from main archive 970212 cvs/libc-970213 cvs/libc-970214
authorUlrich Drepper <drepper@redhat.com>
Thu, 13 Feb 1997 05:10:35 +0000 (05:10 +0000)
committerUlrich Drepper <drepper@redhat.com>
Thu, 13 Feb 1997 05:10:35 +0000 (05:10 +0000)
1997-02-13 02:32  Ulrich Drepper  <drepper@cygnus.com>

* time/time.h (__nanosleep): Define only when struct timespec is
also available.
Reported by Ross Alexander <rossa@stimpy.cs.auckland.ac.nz>.

1997-02-12 21:34  a sun  <asun@zoology.washington.edu>

* sysdeps/unix/sysv/linux/netinet/udp.h: New file.
* sysdeps/unix/sysv/linux/Dist: Add netinet/udp.h.

1997-02-12 21:16  Ulrich Drepper  <drepper@cygnus.com>

* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname_r): Follow patch
of 1997-02-09 in resolv/gethnamaddr.c.

1997-02-11 18:52  H.J. Lu  <hjl@gnu.ai.mit.edu>

* libio/_G_config.h (_G_wint_t): New.

1997-02-09 11:31  H.J. Lu  <hjl@gnu.ai.mit.edu>

* resolv/gethnamaddr.c (gethostbyname2): Change sizeof (buf)
to sizeof (buf.buf) while calling res_search ().

1997-02-03 20:01  H.J. Lu  <hjl@gnu.ai.mit.edu>

* nis/rpcsvc/yp_prot.h (ypresp_key_val): Change key to keydat,
val to keydat, stat to status.

1997-02-12 20:45  Andreas Jaeger  <jaeger@informatik.uni-kl.de>

* time/tzfile.c (__tzfile_read): Fix problem with SUID programs.

1997-02-12 19:55  Ulrich Drepper  <drepper@cygnus.com>

* db/btree/bt_split.c (bt_psplit): Apply official patches #2 and #4
by Keith Bostic.

1997-02-11 14:49  Andreas Jaeger  <jaeger@informatik.uni-kl.de>

* stdlib/atoll.c: Undefined atoll, not atol.

1997-02-08 09:36  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

* sysdeps/unix/Makefile ($(common-objpfx)sysd-syscalls): Remove
unused arguments of shell script.

* Makeconfig (all-object-suffixes): New variable.
* Makerules ($(+sysdir_pfx)sysd-rules, +make-deps): Use it instead
of $(object-suffixes).
* sysdeps/unix/make-syscalls.sh: Likewise.  Fix comment.

16 files changed:
ChangeLog
Makeconfig
Makerules
NEWS
db/btree/bt_split.c
libio/_G_config.h
nis/rpcsvc/yp_prot.h
resolv/gethnamaddr.c
resolv/nss_dns/dns-host.c
stdlib/atoll.c
sysdeps/unix/Makefile
sysdeps/unix/make-syscalls.sh
sysdeps/unix/sysv/linux/Dist
sysdeps/unix/sysv/linux/netinet/udp.h [new file with mode: 0644]
time/time.h
time/tzfile.c

index c70e8ec..e4ec9b8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,56 @@
+1997-02-13 02:32  Ulrich Drepper  <drepper@cygnus.com>
+
+       * time/time.h (__nanosleep): Define only when struct timespec is
+       also available.
+       Reported by Ross Alexander <rossa@stimpy.cs.auckland.ac.nz>.
+
+1997-02-12 21:34  a sun  <asun@zoology.washington.edu>
+
+       * sysdeps/unix/sysv/linux/netinet/udp.h: New file.
+       * sysdeps/unix/sysv/linux/Dist: Add netinet/udp.h.
+
+1997-02-12 21:16  Ulrich Drepper  <drepper@cygnus.com>
+
+       * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname_r): Follow patch
+       of 1997-02-09 in resolv/gethnamaddr.c.
+
+1997-02-11 18:52  H.J. Lu  <hjl@gnu.ai.mit.edu>
+
+       * libio/_G_config.h (_G_wint_t): New.
+
+1997-02-09 11:31  H.J. Lu  <hjl@gnu.ai.mit.edu>
+
+       * resolv/gethnamaddr.c (gethostbyname2): Change sizeof (buf)
+       to sizeof (buf.buf) while calling res_search ().
+
+1997-02-03 20:01  H.J. Lu  <hjl@gnu.ai.mit.edu>
+
+       * nis/rpcsvc/yp_prot.h (ypresp_key_val): Change key to keydat,
+       val to keydat, stat to status.
+
+1997-02-12 20:45  Andreas Jaeger  <jaeger@informatik.uni-kl.de>
+
+       * time/tzfile.c (__tzfile_read): Fix problem with SUID programs.
+
+1997-02-12 19:55  Ulrich Drepper  <drepper@cygnus.com>
+
+       * db/btree/bt_split.c (bt_psplit): Apply official patches #2 and #4
+       by Keith Bostic.
+
+1997-02-11 14:49  Andreas Jaeger  <jaeger@informatik.uni-kl.de>
+
+       * stdlib/atoll.c: Undefined atoll, not atol.
+
+1997-02-08 09:36  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * sysdeps/unix/Makefile ($(common-objpfx)sysd-syscalls): Remove
+       unused arguments of shell script.
+
+       * Makeconfig (all-object-suffixes): New variable.
+       * Makerules ($(+sysdir_pfx)sysd-rules, +make-deps): Use it instead
+       of $(object-suffixes).
+       * sysdeps/unix/make-syscalls.sh: Likewise.  Fix comment.
+
 1997-02-11 05:27  Ulrich Drepper  <drepper@cygnus.com>
 
        * locale/weight.h (collate_rules): It's an u_int32_t array.
index fbe2ab1..2feb2b7 100644 (file)
@@ -481,6 +481,7 @@ endif
 # to pass different flags for each flavor.
 libtypes = $(foreach o,$(object-suffixes),$(libtype$o))
 object-suffixes := .o
+all-object-suffixes := .o .so .po .go
 libtype.o := lib%.a
 ifeq (yes,$(build-shared))
 # Under --enable-shared, we will build a shared library of PIC objects.
index 23fa219..5c3d129 100644 (file)
--- a/Makerules
+++ b/Makerules
@@ -238,7 +238,7 @@ $(+sysdir_pfx)sysd-rules: $(+sysdir_pfx)config.make $(..)Makerules \
             /*) dir=$$sysdir ;; \
             *)  dir="\$$(..)$$sysdir" ;; \
           esac; \
-          for o in $(object-suffixes); do \
+          for o in $(all-object-suffixes); do \
             $(open-check-inhibit-asm) \
             echo "\$$(objpfx)%$$o: $$dir/%.S \$$(before-compile); \
                  \$$(compile-command.S)";                                    \
@@ -292,7 +292,8 @@ define +make-deps
 $(make-target-directory)
 -@rm -f $@
 $(+mkdep) $< $(CPPFLAGS) $($(<:$*.%=%)-CPPFLAGS) | \
-sed -e 's,$(subst .,\.,$*)\.o,$(foreach o,$(object-suffixes),$(@:.d=$o)) $@,' \
+sed \
+-e 's,$(subst .,\.,$*)\.o,$(foreach o,$(all-object-suffixes),$(@:.d=$o)) $@,' \
 $(sed-remove-objpfx) > $(@:.d=.T)
 mv -f $(@:.d=.T) $@
 endef
diff --git a/NEWS b/NEWS
index 0be4d35..fbc7cab 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,25 @@ Please send GNU C library bug reports using the `glibcbug' script to
 <bugs@gnu.ai.mit.edu>.  Questions and suggestions should be send to
 <bug-glibc@prep.ai.mit.edu>.
 \f
+Version 2.0.2
+
+* more bug fixes
+
+* add atoll function
+
+* fix complex problems in Berkeley DB code
+\f
+Version 2.0.1
+
+* fixed lots of header problems (especially Linux/GNU specific)
+
+* dynamic loader preserves all registers
+
+* Roland McGrath provided support for handling of auxiliary objects in
+  the ELF dynamic loader.
+
+* support for parallel builds is improved
+\f
 Version 2.0
 
 * GNU extensions are no longer declared by default.  To enable them you
index d01db4a..4951fcb 100644 (file)
@@ -674,7 +674,8 @@ bt_psplit(t, h, l, r, pskip, ilen)
                 * where we decide to try and copy too much onto the left page.
                 * Make sure that doesn't happen.
                 */
-               if (skip <= off && used + nbytes >= full) {
+               if (skip <= off &&
+                   used + nbytes + sizeof(indx_t) >= full || nxt == top - 1) {
                        --off;
                        break;
                }
@@ -687,7 +688,7 @@ bt_psplit(t, h, l, r, pskip, ilen)
                        memmove((char *)l + l->upper, src, nbytes);
                }
 
-               used += nbytes;
+               sed += nbytes + sizeof(indx_t);
                if (used >= half) {
                        if (!isbigkey || bigkeycnt == 3)
                                break;
index 4b47e88..b388884 100644 (file)
@@ -8,6 +8,7 @@
 
 #include <gnu/types.h>
 #define __need_size_t
+#define __need_wint_t
 #include <stddef.h>
 #define _G_size_t      size_t
 #define _G_fpos_t      __off_t
@@ -15,6 +16,7 @@
 #define _G_off_t       __off_t
 #define        _G_pid_t        __pid_t
 #define        _G_uid_t        __uid_t
+#define _G_wint_t      wint_t
 
 typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
 typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
index 0c5a710..42bc54c 100644 (file)
@@ -160,11 +160,11 @@ struct ypresp_key_val {
      implementation somehow must change the order internally.  We
      don't want to follow this bad example since the user should be
      able to use rpcgen on this file.  */
-  keydat key;
-  valdat val;
+  keydat keydat;
+  valdat valdat;
 #else
-  valdat val;
-  keydat key;
+  valdat valdat;
+  keydat keydat;
 #endif
 };
 
index 07da429..424a669 100644 (file)
@@ -539,7 +539,7 @@ gethostbyname2(name, af)
                                break;
                }
 
-       if ((n = res_search(name, C_IN, type, buf.buf, sizeof(buf))) < 0) {
+       if ((n = res_search(name, C_IN, type, buf.buf, sizeof(buf.buf))) < 0) {
                dprintf("res_search failed (%d)\n", n);
                if (errno == ECONNREFUSED)
                        return (_gethtbyname2(name, af));
index 374da83..959aa2f 100644 (file)
@@ -151,7 +151,7 @@ _nss_dns_gethostbyname2_r (const char *name, int af, struct hostent *result,
   if (strchr (name, '.') == NULL && (cp = __hostalias (name)) != NULL)
     name = cp;
 
-  n = res_search (name, C_IN, type, host_buffer.buf, sizeof (host_buffer));
+  n = res_search (name, C_IN, type, host_buffer.buf, sizeof (host_buffer.buf));
   if (n < 0)
     return errno == ECONNREFUSED ? NSS_STATUS_UNAVAIL : NSS_STATUS_NOTFOUND;
 
index dd387b9..b85a888 100644 (file)
@@ -18,7 +18,7 @@
 
 #include <stdlib.h>
 
-#undef atol
+#undef atoll
 
 
 /* Convert a string to a long int.  */
index 1aea477..3cef7e7 100644 (file)
@@ -287,8 +287,7 @@ $(common-objpfx)sysd-syscalls: $(..)sysdeps/unix/make-syscalls.sh \
                               $(wildcard $(+sysdep_dirs:%=%/syscalls.list))
        for dir in $(+sysdep_dirs); do \
          test -f $$dir/syscalls.list && \
-         { $(SHELL) $(dir $<)$(notdir $<) \
-                    $$dir $(object-suffixes) || exit 1; }; \
+         { $(SHELL) $(dir $<)$(notdir $<) $$dir || exit 1; }; \
          test $$dir = $(..)sysdeps/unix && break; \
        done > $@T
        mv -f $@T $@
index 58e31eb..93a7380 100644 (file)
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-# Usage: make-syscalls.sh ../sysdeps unix/common
+# Usage: make-syscalls.sh ../sysdeps/unix/common
 # Expects $sysdirs in environment.
 
 thisdir=$1; shift
@@ -57,7 +57,8 @@ EOF
 
   # Emit a compilation rule for this syscall.
   echo "\
-\$(foreach o,\$(object-suffixes),\$(objpfx)$file\$o): \$(common-objpfx)s-proto.d
+\$(foreach o,\$(all-object-suffixes),\$(objpfx)$file\$o): \\
+\$(common-objpfx)s-proto.d
        (echo '#include <sysdep.h>'; \\
         echo 'PSEUDO ($strong, $syscall, $nargs)'; \\
         echo ' ret'; \\
index b757562..0660b24 100644 (file)
@@ -12,6 +12,7 @@ net/ppp-comp.h
 net/ppp_defs.h
 net/route.h
 netinet/in_systm.h
+netinet/udp.h
 nfs/nfs.h
 sys/acct.h
 sys/debugreg.h
diff --git a/sysdeps/unix/sysv/linux/netinet/udp.h b/sysdeps/unix/sysv/linux/netinet/udp.h
new file mode 100644 (file)
index 0000000..b088838
--- /dev/null
@@ -0,0 +1,35 @@
+/* Copyright (C) 1997 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
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef _NETINET_UDP_H
+#define _NETINET_UDP_H 1
+
+#include <sys/types.h>
+
+/* The Internet RFC 768 specifies this format for the UDP protocol.  */
+struct udphdr
+  {
+    u_short uh_sport;          /* Source port.  */
+    u_short uh_dport;          /* Destination port.  */
+    u_short uh_ulen;           /* UDP length.  */
+    u_short uh_sum;            /* UDP checksum.  */
+  };
+
+#define SOL_UDP                17      /* UDP level.  */
+
+#endif /* netinet/udp.h */
index f6a26d9..8c1aeaa 100644 (file)
@@ -267,10 +267,10 @@ extern int dysize __P ((int __year));
 #endif
 
 
+#ifdef __USE_POSIX199309
 /* Pause execution for a number of nanoseconds.  */
 extern int __nanosleep __P ((__const struct timespec *__requested_time,
                             struct timespec *__remaining));
-#ifdef __USE_POSIX199309
 extern int nanosleep __P ((__const struct timespec *__requested_time,
                           struct timespec *__remaining));
 #endif
index e063d5d..663c02f 100644 (file)
@@ -119,6 +119,7 @@ __tzfile_read (const char *file)
         directory hierachy starting at TZDIR.  */
       if (__libc_enable_secure
          && ((*file == '/'
+              && (memcmp(file, TZDEFAULT, sizeof(TZDEFAULT) -1))
               && memcmp (file, default_tzdir, sizeof (default_tzdir) - 1))
              || strstr (file, "../") != NULL))
        /* This test a certainly a bit too restrictive but it should