From 795fbc9aa183e10526f6545e28cabf03be7feaf9 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 13 Feb 1997 05:10:35 +0000 Subject: update from main archive 970212 1997-02-13 02:32 Ulrich Drepper * time/time.h (__nanosleep): Define only when struct timespec is also available. Reported by Ross Alexander . 1997-02-12 21:34 a sun * 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 * 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 * libio/_G_config.h (_G_wint_t): New. 1997-02-09 11:31 H.J. Lu * resolv/gethnamaddr.c (gethostbyname2): Change sizeof (buf) to sizeof (buf.buf) while calling res_search (). 1997-02-03 20:01 H.J. Lu * 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 * time/tzfile.c (__tzfile_read): Fix problem with SUID programs. 1997-02-12 19:55 Ulrich Drepper * db/btree/bt_split.c (bt_psplit): Apply official patches #2 and #4 by Keith Bostic. 1997-02-11 14:49 Andreas Jaeger * stdlib/atoll.c: Undefined atoll, not atol. 1997-02-08 09:36 Andreas Schwab * 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. --- ChangeLog | 53 +++++++++++++++++++++++++++++++++++ Makeconfig | 1 + Makerules | 5 ++-- NEWS | 19 +++++++++++++ db/btree/bt_split.c | 5 ++-- libio/_G_config.h | 2 ++ nis/rpcsvc/yp_prot.h | 8 +++--- resolv/gethnamaddr.c | 2 +- resolv/nss_dns/dns-host.c | 2 +- stdlib/atoll.c | 2 +- sysdeps/unix/Makefile | 3 +- sysdeps/unix/make-syscalls.sh | 5 ++-- sysdeps/unix/sysv/linux/Dist | 1 + sysdeps/unix/sysv/linux/netinet/udp.h | 35 +++++++++++++++++++++++ time/time.h | 2 +- time/tzfile.c | 1 + 16 files changed, 130 insertions(+), 16 deletions(-) create mode 100644 sysdeps/unix/sysv/linux/netinet/udp.h 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 + + * time/time.h (__nanosleep): Define only when struct timespec is + also available. + Reported by Ross Alexander . + +1997-02-12 21:34 a sun + + * 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 + + * 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 + + * libio/_G_config.h (_G_wint_t): New. + +1997-02-09 11:31 H.J. Lu + + * resolv/gethnamaddr.c (gethostbyname2): Change sizeof (buf) + to sizeof (buf.buf) while calling res_search (). + +1997-02-03 20:01 H.J. Lu + + * 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 + + * time/tzfile.c (__tzfile_read): Fix problem with SUID programs. + +1997-02-12 19:55 Ulrich Drepper + + * db/btree/bt_split.c (bt_psplit): Apply official patches #2 and #4 + by Keith Bostic. + +1997-02-11 14:49 Andreas Jaeger + + * stdlib/atoll.c: Undefined atoll, not atol. + +1997-02-08 09:36 Andreas Schwab + + * 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 * 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 . Questions and suggestions should be send to . +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 #define __need_size_t +#define __need_wint_t #include #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 -#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 '; \\ 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 + +/* 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 -- cgit v1.2.3