summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog53
-rw-r--r--Makeconfig1
-rw-r--r--Makerules5
-rw-r--r--NEWS19
-rw-r--r--db/btree/bt_split.c5
-rw-r--r--libio/_G_config.h2
-rw-r--r--nis/rpcsvc/yp_prot.h8
-rw-r--r--resolv/gethnamaddr.c2
-rw-r--r--resolv/nss_dns/dns-host.c2
-rw-r--r--stdlib/atoll.c2
-rw-r--r--sysdeps/unix/Makefile3
-rw-r--r--sysdeps/unix/make-syscalls.sh5
-rw-r--r--sysdeps/unix/sysv/linux/Dist1
-rw-r--r--sysdeps/unix/sysv/linux/netinet/udp.h35
-rw-r--r--time/time.h2
-rw-r--r--time/tzfile.c1
16 files changed, 130 insertions, 16 deletions
diff --git a/ChangeLog b/ChangeLog
index c70e8ecf5f..e4ec9b8080 100644
--- 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.
diff --git a/Makeconfig b/Makeconfig
index fbe2ab11fb..2feb2b7088 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -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.
diff --git a/Makerules b/Makerules
index 23fa219102..5c3d1295cb 100644
--- 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 0be4d35c0f..fbc7cabe13 100644
--- 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>.
+Version 2.0.2
+
+* more bug fixes
+
+* add atoll function
+
+* fix complex problems in Berkeley DB code
+
+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
+
Version 2.0
* GNU extensions are no longer declared by default. To enable them you
diff --git a/db/btree/bt_split.c b/db/btree/bt_split.c
index d01db4ad9d..4951fcb096 100644
--- a/db/btree/bt_split.c
+++ b/db/btree/bt_split.c
@@ -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;
diff --git a/libio/_G_config.h b/libio/_G_config.h
index 4b47e886a5..b388884742 100644
--- a/libio/_G_config.h
+++ b/libio/_G_config.h
@@ -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__)));
diff --git a/nis/rpcsvc/yp_prot.h b/nis/rpcsvc/yp_prot.h
index 0c5a7101f7..42bc54c59d 100644
--- a/nis/rpcsvc/yp_prot.h
+++ b/nis/rpcsvc/yp_prot.h
@@ -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
};
diff --git a/resolv/gethnamaddr.c b/resolv/gethnamaddr.c
index 07da429cbf..424a6690ee 100644
--- a/resolv/gethnamaddr.c
+++ b/resolv/gethnamaddr.c
@@ -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));
diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
index 374da83429..959aa2f21d 100644
--- a/resolv/nss_dns/dns-host.c
+++ b/resolv/nss_dns/dns-host.c
@@ -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;
diff --git a/stdlib/atoll.c b/stdlib/atoll.c
index dd387b949d..b85a888a1f 100644
--- a/stdlib/atoll.c
+++ b/stdlib/atoll.c
@@ -18,7 +18,7 @@
#include <stdlib.h>
-#undef atol
+#undef atoll
/* Convert a string to a long int. */
diff --git a/sysdeps/unix/Makefile b/sysdeps/unix/Makefile
index 1aea477064..3cef7e735b 100644
--- a/sysdeps/unix/Makefile
+++ b/sysdeps/unix/Makefile
@@ -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 $@
diff --git a/sysdeps/unix/make-syscalls.sh b/sysdeps/unix/make-syscalls.sh
index 58e31eb468..93a73802f7 100644
--- a/sysdeps/unix/make-syscalls.sh
+++ b/sysdeps/unix/make-syscalls.sh
@@ -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'; \\
diff --git a/sysdeps/unix/sysv/linux/Dist b/sysdeps/unix/sysv/linux/Dist
index b757562124..0660b247ef 100644
--- a/sysdeps/unix/sysv/linux/Dist
+++ b/sysdeps/unix/sysv/linux/Dist
@@ -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
index 0000000000..b088838ccb
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/netinet/udp.h
@@ -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 */
diff --git a/time/time.h b/time/time.h
index f6a26d919e..8c1aeaace6 100644
--- a/time/time.h
+++ b/time/time.h
@@ -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
diff --git a/time/tzfile.c b/time/tzfile.c
index e063d5d04f..663c02fda8 100644
--- a/time/tzfile.c
+++ b/time/tzfile.c
@@ -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