update from main archive 961011
authorUlrich Drepper <drepper@redhat.com>
Sat, 12 Oct 1996 00:56:05 +0000 (00:56 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sat, 12 Oct 1996 00:56:05 +0000 (00:56 +0000)
Fri Oct 11 19:13:34 1996  Ulrich Drepper  <drepper@cygnus.com>

* locale/Makefile (CPPFLAGS): Set CHARMAP_PATH to
  "$(i18ndir)/charmaps".

Fri Oct 11 22:12:41 1996  NIIBE Yutaka  <gniibe@mri.co.jp>

* sysdeps/unix/sysv/linux/sys/procfs.h: Include <asm/user.h>
to get definition of FPU description struct.

* sysdeps/unix/sysv/linux/Makefile [$(subdir)=socket] (subdir_headers):
Add net/if.h, net/if_ppp.h, net/ppp-comp.h, net/ppp_defs.h,
  net/if_arp.h, and net/route.h.
* sysdeps/unix/sysv/linux/net/if_arp.h: New file.
* sysdeps/unix/sysv/linux/net/route.h: New file.

Fri Oct 11 14:49:13 1996  Ulrich Drepper  <drepper@cygnus.com>

* sysdeps/stub/readdir_r.c: New file.  We need a stub version.
* sysdeps/stub/e_acosl.c: Likewise.
* sysdeps/stub/e_asinl.c: Likewise.
* sysdeps/stub/e_atan2l.c: Likewise.
* sysdeps/stub/e_expl.c: Likewise.
* sysdeps/stub/e_fmodl.c: Likewise.
* sysdeps/stub/e_log10l.c: Likewise.
* sysdeps/stub/e_logl.c: Likewise.
* sysdeps/stub/e_sqrtl.c: Likewise.
* sysdeps/stub/s_atanl.c: Likewise.
* sysdeps/stub/s_log1pl.c: Likewise.

* Makefile (distribute): Add nsswitch.h and netgroup.h.

* nss/Makefile (generated): db-netgrp.c is not generated.

* sysdeps/alpha/Dist: Add stxcpy.S and stxncpy.S.

* Make-dist (+out): Add $(dont_distribute).

Fri Oct 11 00:27:18 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

* stdio-common/Makefile (routines): Add tmpnam_r.

Fri Oct 11 05:32:51 1996  Ulrich Drepper  <drepper@cygnus.com>

* version.h: Bump version to 1.96.

Fri Oct 11 18:13:47 1996  Andreas Jaeger  <aj@arthur.pfalz.de>

* stdio-common/tst-printf.c: Some more cleanups.

Fri Oct 11 02:48:02 1996  Ulrich Drepper  <drepper@cygnus.com>

* resolv/arpa/nameser.h: Update from bind-4.9.5-T6B.
* resolv/resolv.h: Likewise.
* resolv/gethnamaddr.c: Likewise.
* resolv/res_comp.c: Likewise.
* resolv/res_debug.c: Likewise.
* resolv/res_init.c: Likewise.
* resolv/res_send.c: Likewise.
* resolv/Banner: Update version number.

* nss/nss_dns/dns-host.c: Update according to change in
resolv/gethnamaddr.c.

Fri Oct 10 20:52:28 1996  Ralph Loader  <loader@maths.ox.ac.uk>

* crypt/md5.c (md5_stream): When reading the block in several
pieces append to instead of replace previously read data.

Thu Oct 10 15:53:17 1996  Richard Henderson  <rth@tamu.edu>

* sysdeps/alpha/stxcpy.S ($unaligned): In single word copy, correct
last-byte-written bit for source word misalignment.
* sysdeps/alpha/strchr.c: Removed.  There is now an assembler
  version.

Thu Oct 10 17:17:23 1996  Ulrich Drepper  <drepper@cygnus.com>

* sunrpc/Makefile (rpcsvc): Remove yp.x.  The corrected version
comes with glibc-nis.
* sunrpc/rpcsvc/yp.x: Removed.

* nss/nss_files/files-netgr.c (_nss_netgroup_parseline): Test
for *CURSOR to be NULL and dump a core if yes.

Thu Oct  9 20:09:53 1996  Matthew Jacob  <mjacob@feral.com>

* sysdeps/unix/sysv/linux/alpha/brk.S: Define _ERRNO_H before
including <errnos.h> to get error numbers.

Thu Oct 10 14:00:01 1996  Ulrich Drepper  <drepper@cygnus.com>

* sysdeps/unix/sysv/linux/i386/sigcontext.h: Moved file...
* sysdeps/unix/sysv/linux/sigcontext.h: ...to here.  So the
Alpha people find a correct file.
* sysdeps/libm-ieee754/w_cabs.c: We cannot make __cabsl simply
an alias of __cabs since the structures have different names.
* sysdeps/libm-ieee754/w_log10.c: Fix typo in weak_alias.
Reported by Matthew Jacob <mjacob@feral.com>.

simply a wrapper around the <linux/elfcore.h> file since the

37 files changed:
ChangeLog
Make-dist
Makefile
libio/ioflockfile.c [deleted file]
locale/Makefile
nss/Makefile
nss/nss_dns/dns-host.c
nss/nss_files/files-netgrp.c
resolv/Banner
resolv/arpa/nameser.h
resolv/gethnamaddr.c
resolv/res_comp.c
resolv/res_debug.c
resolv/res_init.c
resolv/res_send.c
resolv/resolv.h
stdio-common/Makefile
stdio-common/tst-printf.c
sunrpc/Makefile
sunrpc/rpcsvc/yp.x [deleted file]
sunrpc/svc_udp.c
sysdeps/alpha/Dist
sysdeps/alpha/strchr.c [deleted file]
sysdeps/alpha/stxcpy.S
sysdeps/libm-ieee754/w_cabs.c
sysdeps/libm-ieee754/w_log10.c
sysdeps/stub/e_log10l.c [new file with mode: 0644]
sysdeps/stub/e_logl.c [new file with mode: 0644]
sysdeps/stub/e_sqrtl.c [new file with mode: 0644]
sysdeps/stub/s_atanl.c [new file with mode: 0644]
sysdeps/stub/s_log1pl.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/Dist
sysdeps/unix/sysv/linux/Makefile
sysdeps/unix/sysv/linux/alpha/brk.S
sysdeps/unix/sysv/linux/sigcontext.h [moved from sysdeps/unix/sysv/linux/i386/sigcontext.h with 100% similarity]
sysdeps/unix/sysv/linux/sys/procfs.h
version.h

index fdd2883..eed04ff 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,103 @@
+Fri Oct 11 19:13:34 1996  Ulrich Drepper  <drepper@cygnus.com>
+
+       * locale/Makefile (CPPFLAGS): Set CHARMAP_PATH to
+       "$(i18ndir)/charmaps".
+
+Fri Oct 11 22:12:41 1996  NIIBE Yutaka  <gniibe@mri.co.jp>
+
+       * sysdeps/unix/sysv/linux/sys/procfs.h: Include <asm/user.h>
+       to get definition of FPU description struct.
+
+       * sysdeps/unix/sysv/linux/Makefile [$(subdir)=socket] (subdir_headers):
+       Add net/if.h, net/if_ppp.h, net/ppp-comp.h, net/ppp_defs.h,
+       net/if_arp.h, and net/route.h.
+       * sysdeps/unix/sysv/linux/net/if_arp.h: New file.
+       * sysdeps/unix/sysv/linux/net/route.h: New file.
+
+Fri Oct 11 14:49:13 1996  Ulrich Drepper  <drepper@cygnus.com>
+
+       * sysdeps/stub/readdir_r.c: New file.  We need a stub version.
+       * sysdeps/stub/e_acosl.c: Likewise.
+       * sysdeps/stub/e_asinl.c: Likewise.
+       * sysdeps/stub/e_atan2l.c: Likewise.
+       * sysdeps/stub/e_expl.c: Likewise.
+       * sysdeps/stub/e_fmodl.c: Likewise.
+       * sysdeps/stub/e_log10l.c: Likewise.
+       * sysdeps/stub/e_logl.c: Likewise.
+       * sysdeps/stub/e_sqrtl.c: Likewise.
+       * sysdeps/stub/s_atanl.c: Likewise.
+       * sysdeps/stub/s_log1pl.c: Likewise.
+
+       * Makefile (distribute): Add nsswitch.h and netgroup.h.
+
+       * nss/Makefile (generated): db-netgrp.c is not generated.
+
+       * sysdeps/alpha/Dist: Add stxcpy.S and stxncpy.S.
+
+       * Make-dist (+out): Add $(dont_distribute).
+
+Fri Oct 11 00:27:18 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * stdio-common/Makefile (routines): Add tmpnam_r.
+
+Fri Oct 11 05:32:51 1996  Ulrich Drepper  <drepper@cygnus.com>
+
+       * version.h: Bump version to 1.96.
+
+Fri Oct 11 18:13:47 1996  Andreas Jaeger  <aj@arthur.pfalz.de>
+
+       * stdio-common/tst-printf.c: Some more cleanups.
+
+Fri Oct 11 02:48:02 1996  Ulrich Drepper  <drepper@cygnus.com>
+
+       * resolv/arpa/nameser.h: Update from bind-4.9.5-T6B.
+       * resolv/resolv.h: Likewise.
+       * resolv/gethnamaddr.c: Likewise.
+       * resolv/res_comp.c: Likewise.
+       * resolv/res_debug.c: Likewise.
+       * resolv/res_init.c: Likewise.
+       * resolv/res_send.c: Likewise.
+       * resolv/Banner: Update version number.
+
+       * nss/nss_dns/dns-host.c: Update according to change in
+       resolv/gethnamaddr.c.
+
+Fri Oct 10 20:52:28 1996  Ralph Loader  <loader@maths.ox.ac.uk>
+
+       * crypt/md5.c (md5_stream): When reading the block in several
+       pieces append to instead of replace previously read data.
+
+Thu Oct 10 15:53:17 1996  Richard Henderson  <rth@tamu.edu>
+
+       * sysdeps/alpha/stxcpy.S ($unaligned): In single word copy, correct
+       last-byte-written bit for source word misalignment.
+       * sysdeps/alpha/strchr.c: Removed.  There is now an assembler
+       version.
+
+Thu Oct 10 17:17:23 1996  Ulrich Drepper  <drepper@cygnus.com>
+
+       * sunrpc/Makefile (rpcsvc): Remove yp.x.  The corrected version
+       comes with glibc-nis.
+       * sunrpc/rpcsvc/yp.x: Removed.
+
+       * nss/nss_files/files-netgr.c (_nss_netgroup_parseline): Test
+       for *CURSOR to be NULL and dump a core if yes.
+
+Thu Oct  9 20:09:53 1996  Matthew Jacob  <mjacob@feral.com>
+
+       * sysdeps/unix/sysv/linux/alpha/brk.S: Define _ERRNO_H before
+       including <errnos.h> to get error numbers.
+
+Thu Oct 10 14:00:01 1996  Ulrich Drepper  <drepper@cygnus.com>
+
+       * sysdeps/unix/sysv/linux/i386/sigcontext.h: Moved file...
+       * sysdeps/unix/sysv/linux/sigcontext.h: ...to here.  So the
+       Alpha people find a correct file.
+       * sysdeps/libm-ieee754/w_cabs.c: We cannot make __cabsl simply
+       an alias of __cabs since the structures have different names.
+       * sysdeps/libm-ieee754/w_log10.c: Fix typo in weak_alias.
+       Reported by Matthew Jacob <mjacob@feral.com>.
+
 Wed Oct  9 00:24:52 1996  Jim Meyering  <meyering@asic.sc.ti.com>
 
        * time/strftime.c: Allow old K&R compilers compile this file.
@@ -11,7 +111,7 @@ Wed Oct  9 12:03:56 1996  Ulrich Drepper  <drepper@cygnus.com>
 Wed Oct  9 04:34:50 1996  Ulrich Drepper  <drepper@cygnus.com>
 
        * sysdeps/unix/sysv/linux/sys/procfs.h: Rewrite.  We cannot use
-       simply a wrapper around the <linux.elfcore.h> file since the
+       simply a wrapper around the <linux/elfcore.h> file since the
        kernel header is not clean enough.  We provide the definitions
        in this file instead.
 
index e6921b8..cc8fdac 100644 (file)
--- a/Make-dist
+++ b/Make-dist
@@ -29,6 +29,7 @@ endif
 include $(..)Makeconfig
 
 foo:=$(shell echo 'distribute=$(distribute)'>&2)
+foo:=$(shell echo 'dont_distribute=$(dont_distribute)'>&2)
 foo:=$(shell echo 'foobar=$(filter %.c %.S %.s %.h,$(distribute))'>&2)
 
 ifndef sysdep_dirs
@@ -111,8 +112,8 @@ sources := $(filter-out $(addsuffix .c,$(basename $(.S.s))),$(sources)) $(.S.s)
 
 +out := $(patsubst %.S,%.c,$(+sysdep-names:.s=.c)) \
        $(addsuffix .c,$(sysdep_routines)) \
-       $(+subdir-nodist)
-#foo:=$(shell echo '+out=$(+out)' >&2; echo foofoo >&2)
+       $(+subdir-nodist) $(dont_distribute)
+foo:=$(shell echo '+out=$(+out)' >&2; echo foofoo >&2)
 +tsrcs := $(filter-out $(+out), $(sources) $(all-headers) $(distribute)) \
           $(+sysdeps)
 foo:=$(shell echo 'made +tsrcs=$(+tsrcs)'>&2)
index 8556b61..9220372 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -242,7 +242,7 @@ distribute  := README INSTALL FAQ NOTES NEWS PROJECTS                       \
               config.h.in config.make.in config-name.in Makefile.in    \
               autolock.sh munch-tmpl.c munch.awk interp.c              \
               sysdep.h set-hooks.h libc-symbols.h version.h shlib-versions \
-              rpm/Makefile rpm/template rpm/rpmrc
+              rpm/Makefile rpm/template rpm/rpmrc nsswitch.h netgroup.h
 
 distribute := $(strip $(distribute))
 generated := $(generated) stubs.h version-info.h
diff --git a/libio/ioflockfile.c b/libio/ioflockfile.c
deleted file mode 100644 (file)
index a68f4b6..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-Copyright (C) 1996 Free Software Foundation
-
-This file is part of the GNU IO Library.  This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This 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 General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING.  If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include "libioP.h"
-#include <libc-lock.h>
-
-void
-_IO_flockfile (s)
-     _IO_FILE *s;
-{
-  __libc_lock_lock (s->_lock);
-}
-weak_alias (_IO_flockfile, flockfile)
-
-
-void
-_IO_funlockfile (s)
-     _IO_FILE *s;
-{
-  __libc_lock_unlock (s->_lock);
-}
-weak_alias (_IO_funlockfile, funlockfile)
index c212b2e..cedcd70 100644 (file)
@@ -65,7 +65,7 @@ $(objpfx)locale: $(locale-modules:%=$(objpfx)%.o)
 $(objpfx)localedef $(objpfx)locale: $(lib-modules:%=$(objpfx)%.o)
 
 CPPFLAGS := -DLOCALE_PATH='"$(localedir)"' \
-           -DCHARMAP_PATH='"$(i18ndir)/charmap"' \
+           -DCHARMAP_PATH='"$(i18ndir)/charmaps"' \
            -DLOCSRCDIR='"$(i18ndir)/locales"' -DHAVE_CONFIG_H \
            -Iprograms $(CPPFLAGS)
 
index 319bad5..a921bb7 100644 (file)
@@ -55,7 +55,8 @@ libnss_dns-routines   := dns-host dns-network
 
 libnss_db-routines     := $(addprefix db-,$(filter-out hosts network,\
                                                        $(databases)))
-generated              += $(addsuffix .c,$(libnss_db-routines))
+generated              += $(filter-out db-netgrp.c, \
+                                       $(addsuffix .c,$(libnss_db-routines)))
 distribute             += db-XXX.c
 
 libnss_files-inhibit-o = $(filter-out .so,$(object-suffixes))
index f8d5d37..1209230 100644 (file)
@@ -589,15 +589,12 @@ getanswer_r (const querybuf *answer, int anslen, const char *qname, int qtype,
              cp += n;
              continue;                 /* XXX - had_error++ ? */
            }
-         if (haveanswer)
+         if (n != result->h_length)
            {
-             if (n != result->h_length)
-               {
-                 cp += n;
-                 continue;
-               }
+             cp += n;
+             continue;
            }
-         else
+         if (!haveanswer)
            {
              register int nn;
 
index c653825..427c6bf 100644 (file)
@@ -188,6 +188,11 @@ _nss_netgroup_parseline (char **cursor, struct __netgrent *result,
   const char *host, *user, *domain;
   char *cp = *cursor;
 
+  /* Some sanity checks.  */
+  if (cp == NULL)
+    /* User bug.  setnetgrent() wasn't called before.  */
+    abort ();
+
   /* First skip leading spaces.  */
   while (isspace (*cp))
     ++cp;
index e08f0b4..5d0dc48 100644 (file)
@@ -1 +1 @@
-BIND-4.9.5-T4B
+BIND-4.9.5-T6B
index 2352af6..66b3530 100644 (file)
 #include <sys/cdefs.h>
 
 #ifdef _AUX_SOURCE
-#include <sys/types.h>                 /* ech for A/UX */
-#define res_send ucb_res_send          /* already def'd in libc */
-#define _res_close _ucb_res_close    /* removing res_send.o from the library */
-#endif                              /* gives an undefined symbol... */
+# include <sys/types.h>
+#endif
 
 /*
  * revision information.  this is the release date in YYYYMMDD format.
 #define T_NIMLOC       32              /* Nimrod locator */
 #define T_SRV          33              /* Server selection */
 #define T_ATMA         34              /* ATM Address */
+#define T_NAPTR                35              /* Naming Authority PoinTeR */
        /* non standard */
 #define T_UINFO                100             /* user (finger) information */
 #define T_UID          101             /* user ID */
index 1cae1f7..7c3096c 100644 (file)
@@ -341,12 +341,11 @@ getanswer(answer, anslen, qname, qtype)
                                cp += n;
                                continue;       /* XXX - had_error++ ? */
                        }
-                       if (haveanswer) {
-                               if (n != host.h_length) {
-                                       cp += n;
-                                       continue;
-                               }
-                       } else {
+                       if (n != host.h_length) {
+                               cp += n;
+                               continue;
+                       }
+                       if (!haveanswer) {
                                register int nn;
 
                                host.h_name = bp;
index 76f7cea..d96fe6e 100644 (file)
@@ -394,8 +394,12 @@ int
 res_ownok(dn)
        const char *dn;
 {
-       if (asterchar(dn[0]) && periodchar(dn[1]))
-               dn += 2;
+       if (asterchar(dn[0])) {
+               if (periodchar(dn[1]))
+                       return (res_hnok(dn+2));
+               if (dn[1] == '\0')
+                       return (1);
+       }
        return (res_hnok(dn));
 }
 
index cc6f84f..49eef72 100644 (file)
@@ -671,7 +671,7 @@ __p_rr(cp, msg, file)
                fprintf(file, "\t%s", inet_ntop(AF_INET6, cp, t, sizeof t));
                cp += dlen;
                break;
-       }
+           }
 
        case T_LOC: {
                char t[255];
@@ -679,7 +679,30 @@ __p_rr(cp, msg, file)
                (void) fprintf(file, "\t%s", loc_ntoa(cp, t));
                cp += dlen;
                break;
-       }
+           }
+
+       case T_NAPTR: {
+               u_int order, preference;
+
+               order = _getshort(cp);  cp += INT16SZ;
+               preference   = _getshort(cp);  cp += INT16SZ;
+               fprintf(file, "\t%u %u ",order, preference);
+               /* Flags */
+               n = *cp++;
+               fprintf(file,"\"%.*s\" ", (int)n, cp);
+               cp += n;
+               /* Service */
+               n = *cp++;
+               fprintf(file,"\"%.*s\" ", (int)n, cp);
+               cp += n;
+               /* Regexp */
+               n = *cp++;
+               fprintf(file,"\"%.*s\" ", (int)n, cp);
+               cp += n;
+               if ((cp = p_fqname(cp, msg, file)) == NULL)
+                       return (NULL);
+               break;
+           }
 
        case T_SRV: {
                u_int priority, weight, port;
@@ -691,7 +714,7 @@ __p_rr(cp, msg, file)
                if ((cp = p_fqname(cp, msg, file)) == NULL)
                        return (NULL);
                break;
-       }
+           }
 
        case T_MINFO:
        case T_RP:
@@ -908,6 +931,7 @@ const struct res_sym __p_type_syms[] = {
        {T_UINFO,       "UINFO",        "user information (nonstandard)"},
        {T_UID,         "UID",          "user ID (nonstandard)"},
        {T_GID,         "GID",          "group ID (nonstandard)"},
+       {T_NAPTR,       "NAPTR",        "URN Naming Authority"},
 #ifdef ALLOW_T_UNSPEC
        {T_UNSPEC,      "UNSPEC",       "unspecified data (nonstandard)"},
 #endif /* ALLOW_T_UNSPEC */
index c8a74f6..4599486 100644 (file)
@@ -645,7 +645,7 @@ netinfo_res_init(haveenv, havesearch)
 }
 #endif /* NeXT */
 
-u_int16_t
+u_int
 res_randomid()
 {
        struct timeval now;
index 3efc6cf..a5b4fba 100644 (file)
@@ -94,8 +94,6 @@ static char rcsid[] = "$Id$";
 # include <../conf/options.h>
 #endif
 
-void _res_close __P((void));
-
 static int s = -1;     /* socket used for communications */
 static int connected = 0;      /* is the socket connected */
 static int vc = 0;     /* is the socket a virtual ciruit? */
@@ -320,7 +318,7 @@ res_send(buf, buflen, ans, anssiz)
                struct sockaddr_in *nsap = &_res.nsaddr_list[ns];
     same_ns:
                if (badns & (1 << ns)) {
-                       _res_close();
+                       res_close();
                        goto next_ns;
                }
 
@@ -337,7 +335,7 @@ res_send(buf, buflen, ans, anssiz)
                                        done = 1;
                                        break;
                                case res_nextns:
-                                       _res_close();
+                                       res_close();
                                        goto next_ns;
                                case res_done:
                                        return (resplen);
@@ -372,7 +370,7 @@ res_send(buf, buflen, ans, anssiz)
                        truncated = 0;
                        if ((s < 0) || (!vc)) {
                                if (s >= 0)
-                                       _res_close();
+                                       res_close();
 
                                s = socket(PF_INET, SOCK_STREAM, 0);
                                if (s < 0) {
@@ -387,7 +385,7 @@ res_send(buf, buflen, ans, anssiz)
                                        Aerror(stderr, "connect/vc",
                                               errno, *nsap);
                                        badns |= (1 << ns);
-                                       _res_close();
+                                       res_close();
                                        goto next_ns;
                                }
                                vc = 1;
@@ -404,7 +402,7 @@ res_send(buf, buflen, ans, anssiz)
                                terrno = errno;
                                Perror(stderr, "write failed", errno);
                                badns |= (1 << ns);
-                               _res_close();
+                               res_close();
                                goto next_ns;
                        }
                        /*
@@ -421,7 +419,7 @@ read_len:
                        if (n <= 0) {
                                terrno = errno;
                                Perror(stderr, "read failed", errno);
-                               _res_close();
+                               res_close();
                                /*
                                 * A long running process might get its TCP
                                 * connection reset if the remote server was
@@ -433,10 +431,10 @@ read_len:
                                 */
                                if (terrno == ECONNRESET && !connreset) {
                                        connreset = 1;
-                                       _res_close();
+                                       res_close();
                                        goto same_ns;
                                }
-                               _res_close();
+                               res_close();
                                goto next_ns;
                        }
                        resplen = _getshort(ans);
@@ -457,7 +455,7 @@ read_len:
                        if (n <= 0) {
                                terrno = errno;
                                Perror(stderr, "read(vc)", errno);
-                               _res_close();
+                               res_close();
                                goto next_ns;
                        }
                        if (truncated) {
@@ -504,7 +502,7 @@ read_len:
 
                        if ((s < 0) || vc) {
                                if (vc)
-                                       _res_close();
+                                       res_close();
                                s = socket(PF_INET, SOCK_DGRAM, 0);
                                if (s < 0) {
 #if !CAN_RECONNECT
@@ -544,7 +542,7 @@ read_len:
                                                       "connect(dg)",
                                                       errno, *nsap);
                                                badns |= (1 << ns);
-                                               _res_close();
+                                               res_close();
                                                goto next_ns;
                                        }
                                        connected = 1;
@@ -552,7 +550,7 @@ read_len:
                                if (send(s, (char*)buf, buflen, 0) != buflen) {
                                        Perror(stderr, "send", errno);
                                        badns |= (1 << ns);
-                                       _res_close();
+                                       res_close();
                                        goto next_ns;
                                }
                        } else {
@@ -589,7 +587,7 @@ read_len:
                                    != buflen) {
                                        Aerror(stderr, "sendto", errno, *nsap);
                                        badns |= (1 << ns);
-                                       _res_close();
+                                       res_close();
                                        goto next_ns;
                                }
                        }
@@ -612,7 +610,7 @@ read_len:
                                if (errno == EINTR)
                                        goto wait;
                                Perror(stderr, "select", errno);
-                               _res_close();
+                               res_close();
                                goto next_ns;
                        }
                        if (n == 0) {
@@ -622,7 +620,7 @@ read_len:
                                Dprint(_res.options & RES_DEBUG,
                                       (stdout, ";; timeout\n"));
                                gotsomewhere = 1;
-                               _res_close();
+                               res_close();
                                goto next_ns;
                        }
                        __set_errno (0);
@@ -631,7 +629,7 @@ read_len:
                                           (struct sockaddr *)&from, &fromlen);
                        if (resplen <= 0) {
                                Perror(stderr, "recvfrom", errno);
-                               _res_close();
+                               res_close();
                                goto next_ns;
                        }
                        gotsomewhere = 1;
@@ -683,7 +681,7 @@ read_len:
                                        (stdout, "server rejected query:\n"),
                                        ans, (resplen>anssiz)?anssiz:resplen);
                                badns |= (1 << ns);
-                               _res_close();
+                               res_close();
                                /* don't retry if called from dig */
                                if (!_res.pfcode)
                                        goto next_ns;
@@ -696,7 +694,7 @@ read_len:
                                Dprint(_res.options & RES_DEBUG,
                                       (stdout, ";; truncated answer\n"));
                                v_circuit = 1;
-                               _res_close();
+                               res_close();
                                goto same_ns;
                        }
                } /*if vc/dg*/
@@ -718,7 +716,7 @@ read_len:
                 */
                if ((v_circuit && (!(_res.options & RES_USEVC) || ns != 0)) ||
                    !(_res.options & RES_STAYOPEN)) {
-                       _res_close();
+                       res_close();
                }
                if (Rhook) {
                        int done = 0, loops = 0;
@@ -734,7 +732,7 @@ read_len:
                                        done = 1;
                                        break;
                                case res_nextns:
-                                       _res_close();
+                                       res_close();
                                        goto next_ns;
                                case res_modified:
                                        /* give the hook another try */
@@ -753,7 +751,7 @@ read_len:
     next_ns: ;
           } /*foreach ns*/
        } /*foreach retry*/
-       _res_close();
+       res_close();
        if (!v_circuit)
                if (!gotsomewhere)
                        __set_errno (ECONNREFUSED); /* no nameservers found */
@@ -772,7 +770,7 @@ read_len:
  * This routine is not expected to be user visible.
  */
 void
-_res_close()
+res_close()
 {
        if (s >= 0) {
                (void) close(s);
@@ -787,6 +785,12 @@ _res_close()
  * there is more gunk of this kind over in res_debug.c.
  */
 
+void
+_res_close()
+{
+       res_close();
+}
+
 #undef res_send
 int
 res_send(buf, buflen, ans, anssiz)
index e5ec75a..fe90ab5 100644 (file)
@@ -110,7 +110,7 @@ struct __res_state {
        struct sockaddr_in
                nsaddr_list[MAXNS];     /* address of name server */
 #define        nsaddr  nsaddr_list[0]          /* for backward compatibility */
-       u_short id;                     /* current packet id */
+       u_short id;                     /* current message id */
        char    *dnsrch[MAXDNSRCH+1];   /* components of domain to search */
        char    defdname[256];          /* default domain (deprecated) */
        u_long  pfcode;                 /* RES_PRF_ flags - see below. */
@@ -235,6 +235,7 @@ extern const struct res_sym __p_type_syms[];
 #define        res_isourserver __res_isourserver
 #define        res_nameinquery __res_nameinquery
 #define        res_queriesmatch __res_queriesmatch
+#define        res_close       __res_close
 __BEGIN_DECLS
 int            res_hnok __P((const char *));
 int            res_ownok __P((const char *));
@@ -272,7 +273,7 @@ int         dn_comp __P((const char *, u_char *, int,
 int            dn_expand __P((const u_char *, const u_char *, const u_char *,
                               char *, int));
 int            res_init __P((void));
-u_int16_t      res_randomid __P((void));
+u_int          res_randomid __P((void));
 int            res_query __P((const char *, int, int, u_char *, int));
 int            res_search __P((const char *, int, int, u_char *, int));
 int            res_querydomain __P((const char *, const char *, int, int,
@@ -285,6 +286,7 @@ int         res_nameinquery __P((const char *, int, int,
                                     const u_char *, const u_char *));
 int            res_queriesmatch __P((const u_char *, const u_char *,
                                      const u_char *, const u_char *));
+void           res_close __P((void));
 __END_DECLS
 
 #endif /* !_RESOLV_H_ */
index e65ff70..240016c 100644 (file)
@@ -30,7 +30,7 @@ routines      :=                                                            \
        vfscanf                                                               \
        fscanf scanf sscanf                                                   \
        perror psignal                                                        \
-       tmpfile tmpnam tempnam tempname                                       \
+       tmpfile tmpnam tmpnam_r tempnam tempname                              \
        getline getw putw                                                     \
        remove rename                                                         \
        lockfile
index 65e9dfd..87578d3 100644 (file)
@@ -147,7 +147,7 @@ I am ready for my first lesson today.";
 
 #ifndef        BSD
   printf("bad format:\t\"%z\"\n");
-  printf("nil pointer (padded):\t\"%10p\"\n", (PTR) NULL);
+  printf("nil pointer (padded):\t\"%10p\"\n", (void *) NULL);
 #endif
 
   printf("decimal negative:\t\"%d\"\n", -2345);
@@ -272,7 +272,6 @@ rfg1 (void)
   sprintf (buf, "%.G", 33.3);
   if (strcmp (buf, "3E+01") != 0)
     printf ("got: '%s', expected: '%s'\n", buf, "3E+01");
-  return 0;
 }
 
 void
@@ -309,5 +308,4 @@ rfg2 (void)
   sprintf (buf, "%04.*X", prec, 33);
   if (strcmp (buf, " 021") != 0)
     printf ("got: '%s', expected: '%s'\n", buf, " 021");
-  return 0;
 }
index efad599..7612f1a 100644 (file)
@@ -50,7 +50,7 @@ headers = $(addprefix rpc/,auth.h auth_unix.h clnt.h netdb.h pmap_clnt.h \
          $(rpcsvc:%=rpcsvc/%) $(rpcsvc:%.x=rpcsvc/%.h)
 rpcsvc = bootparam.x nlm_prot.x rstat.x \
         yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \
-        rnusers.x spray.x nfs_prot.x rquota.x yp.x
+        rnusers.x spray.x nfs_prot.x rquota.x
 install-others = $(includedir)/rpcsvc/bootparam_prot.h \
                 $(sysconfdir)/rpc
 generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c)
diff --git a/sunrpc/rpcsvc/yp.x b/sunrpc/rpcsvc/yp.x
deleted file mode 100644 (file)
index 8fe70a2..0000000
+++ /dev/null
@@ -1,291 +0,0 @@
-/* @(#)yp.x    2.1 88/08/01 4.0 RPCSRC */
-
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part.  Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- * 
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- * 
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- * 
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- * 
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- * 
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California  94043
- */
-
-/*
- * Protocol description file for the Yellow Pages Service
- */
-
-const YPMAXRECORD = 1024;
-const YPMAXDOMAIN = 64;
-const YPMAXMAP = 64;
-const YPMAXPEER = 64;
-
-
-enum ypstat {
-       YP_TRUE         =  1,
-       YP_NOMORE       =  2,
-       YP_FALSE        =  0,
-       YP_NOMAP        = -1,
-       YP_NODOM        = -2,
-       YP_NOKEY        = -3,
-       YP_BADOP        = -4,
-       YP_BADDB        = -5,
-       YP_YPERR        = -6,
-       YP_BADARGS      = -7,
-       YP_VERS         = -8
-};
-
-
-enum ypxfrstat {
-       YPXFR_SUCC      =  1,
-       YPXFR_AGE       =  2,
-       YPXFR_NOMAP     = -1,
-       YPXFR_NODOM     = -2,
-       YPXFR_RSRC      = -3,
-       YPXFR_RPC       = -4,
-       YPXFR_MADDR     = -5,
-       YPXFR_YPERR     = -6,
-       YPXFR_BADARGS   = -7,
-       YPXFR_DBM       = -8,
-       YPXFR_FILE      = -9,
-       YPXFR_SKEW      = -10,
-       YPXFR_CLEAR     = -11,
-       YPXFR_FORCE     = -12,
-       YPXFR_XFRERR    = -13,
-       YPXFR_REFUSED   = -14
-};
-
-
-typedef string domainname<YPMAXDOMAIN>;
-typedef string mapname<YPMAXMAP>;
-typedef string peername<YPMAXPEER>;
-typedef opaque keydat<YPMAXRECORD>;
-typedef opaque valdat<YPMAXRECORD>;
-
-
-struct ypmap_parms {
-       domainname domain;      
-       mapname map;
-       unsigned int ordernum;
-       peername peer;
-};
-
-struct ypreq_key {
-       domainname domain;
-       mapname map;
-       keydat key;
-};
-
-struct ypreq_nokey {
-       domainname domain;      
-       mapname map;
-};
-       
-struct ypreq_xfr {
-       ypmap_parms map_parms;
-       unsigned int transid;
-       unsigned int prog;
-       unsigned int port;
-};
-
-
-struct ypresp_val {
-       ypstat stat;
-       valdat val;
-};
-
-struct ypresp_key_val {
-       ypstat stat;
-       keydat key;
-       valdat val;
-};
-
-
-struct ypresp_master {
-       ypstat stat;    
-       peername peer;
-};
-
-struct ypresp_order {
-       ypstat stat;
-       unsigned int ordernum;
-};
-
-union ypresp_all switch (bool more) {
-case TRUE:
-       ypresp_key_val val;
-case FALSE:
-       void;
-};
-
-struct ypresp_xfr {
-       unsigned int transid;
-       ypxfrstat xfrstat;
-};
-
-struct ypmaplist {
-       mapname map;
-       ypmaplist *next;
-};
-
-struct ypresp_maplist {
-       ypstat stat;
-       ypmaplist *maps;
-};
-
-enum yppush_status {
-       YPPUSH_SUCC     =  1,   /* Success */
-       YPPUSH_AGE      =  2,   /* Master's version not newer */
-       YPPUSH_NOMAP    = -1,   /* Can't find server for map */
-       YPPUSH_NODOM    = -2,   /* Domain not supported */
-       YPPUSH_RSRC     = -3,   /* Local resource alloc failure */
-       YPPUSH_RPC      = -4,   /* RPC failure talking to server */
-       YPPUSH_MADDR    = -5,   /* Can't get master address */
-       YPPUSH_YPERR    = -6,   /* YP server/map db error */
-       YPPUSH_BADARGS  = -7,   /* Request arguments bad */
-       YPPUSH_DBM      = -8,   /* Local dbm operation failed */
-       YPPUSH_FILE     = -9,   /* Local file I/O operation failed */
-       YPPUSH_SKEW     = -10,  /* Map version skew during transfer */
-       YPPUSH_CLEAR    = -11,  /* Can't send "Clear" req to local ypserv */
-       YPPUSH_FORCE    = -12,  /* No local order number in map  use -f flag. */
-       YPPUSH_XFRERR   = -13,  /* ypxfr error */
-       YPPUSH_REFUSED  = -14   /* Transfer request refused by ypserv */
-};
-
-struct yppushresp_xfr {
-       unsigned transid;
-       yppush_status status;
-};
-
-/*
- * Response structure and overall result status codes.  Success and failure
- * represent two separate response message types.
- */
-enum ypbind_resptype {
-       YPBIND_SUCC_VAL = 1, 
-       YPBIND_FAIL_VAL = 2
-};
-struct ypbind_binding {
-    opaque ypbind_binding_addr[4]; /* In network order */
-    opaque ypbind_binding_port[2]; /* In network order */
-};   
-
-union ypbind_resp switch (ypbind_resptype ypbind_status) {
-case YPBIND_FAIL_VAL:
-        unsigned ypbind_error;
-case YPBIND_SUCC_VAL:
-        ypbind_binding ypbind_bindinfo;
-};     
-
-/* Detailed failure reason codes for response field ypbind_error*/
-const YPBIND_ERR_ERR    = 1;   /* Internal error */
-const YPBIND_ERR_NOSERV = 2;   /* No bound server for passed domain */
-const YPBIND_ERR_RESC   = 3;   /* System resource allocation failure */
-/*
- * Request data structure for ypbind "Set domain" procedure.
- */
-struct ypbind_setdom {
-       domainname ypsetdom_domain;
-       ypbind_binding ypsetdom_binding;
-       unsigned ypsetdom_vers;
-};
-
-
-/*
- * YP access protocol
- */
-program YPPROG {
-       version YPVERS {
-               void 
-               YPPROC_NULL(void) = 0;
-
-               bool 
-               YPPROC_DOMAIN(domainname) = 1;  
-
-               bool
-               YPPROC_DOMAIN_NONACK(domainname) = 2;
-
-               ypresp_val
-               YPPROC_MATCH(ypreq_key) = 3;
-
-               ypresp_key_val 
-               YPPROC_FIRST(ypreq_key) = 4;
-
-               ypresp_key_val 
-               YPPROC_NEXT(ypreq_key) = 5;
-
-               ypresp_xfr
-               YPPROC_XFR(ypreq_xfr) = 6;
-
-               void
-               YPPROC_CLEAR(void) = 7;
-
-               ypresp_all
-               YPPROC_ALL(ypreq_nokey) = 8;
-
-               ypresp_master
-               YPPROC_MASTER(ypreq_nokey) = 9;
-
-               ypresp_order
-               YPPROC_ORDER(ypreq_nokey) = 10;
-
-               ypresp_maplist 
-               YPPROC_MAPLIST(domainname) = 11;
-       } = 2;
-} = 100004;
-
-
-/*
- * YPPUSHPROC_XFRRESP is the callback routine for result of YPPROC_XFR
- */
-program YPPUSH_XFRRESPPROG {
-       version YPPUSH_XFRRESPVERS {
-               void
-               YPPUSHPROC_NULL(void) = 0;
-
-               yppushresp_xfr  
-               YPPUSHPROC_XFRRESP(void) = 1;
-       } = 1;
-} = 0x40000000;        /* transient: could be anything up to 0x5fffffff */
-
-
-/*
- * YP binding protocol
- */
-program YPBINDPROG {
-       version YPBINDVERS {
-               void
-               YPBINDPROC_NULL(void) = 0;
-       
-               ypbind_resp
-               YPBINDPROC_DOMAIN(domainname) = 1;
-
-               void
-               YPBINDPROC_SETDOM(ypbind_setdom) = 2;
-       } = 2;
-} = 100007;
-
-
index 7c3a31b..c9efc97 100644 (file)
@@ -46,7 +46,9 @@ static char sccsid[] = "@(#)svc_udp.c 1.24 87/08/11 Copyr 1984 Sun Micro";
 
 
 #define rpc_buffer(xprt) ((xprt)->xp_p1)
-#define MAX(a, b)     ((a > b) ? a : b)
+#ifndef MAX
+# define MAX(a, b)     ((a > b) ? a : b)
+#endif
 
 static bool_t          svcudp_recv();
 static bool_t          svcudp_reply();
index c9419e6..3cc9595 100644 (file)
@@ -3,3 +3,5 @@ DEFS.h
 divrem.h
 divl.S divlu.S divq.S divqu.S reml.S remlu.S remq.S remqu.S
 _mcount.S
+stxcpy.S
+stxncpy.S
diff --git a/sysdeps/alpha/strchr.c b/sysdeps/alpha/strchr.c
deleted file mode 100644 (file)
index 69afa4b..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
-
-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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-#include <string.h>
-
-/* Return the length of the null-terminated string STR.  Scan for
-   the null terminator quickly by testing eight bytes at a time.  */
-
-char *
-strchr (const char *str, int c)
-{
-  const char *char_ptr;
-  const unsigned long int *longword_ptr;
-  unsigned long int charmask;
-
-  c = (unsigned char) c;
-
-  /* Handle the first few characters by reading one character at a time.
-     Do this until STR is aligned on a 8-byte border.  */
-  for (char_ptr = str; ((unsigned long int) char_ptr & 7) != 0; ++char_ptr)
-    if (*char_ptr == c)
-      return (char *) char_ptr;
-    else if (*char_ptr == '\0')
-      return NULL;
-
-  longword_ptr = (unsigned long int *) char_ptr;
-
-  /* Set up a longword, each of whose bytes is C.  */
-  charmask = c | (c << 8);
-  charmask |= charmask << 16;
-  charmask |= charmask << 32;
-
-  for (;;)
-    {
-      const unsigned long int longword = *longword_ptr++;
-      int ge, le, zero;
-
-      /* Set bits in ZERO if bytes in LONGWORD are zero.  */
-      asm ("cmpbge $31, %1, %0" : "=r" (zero) : "r" (longword));
-
-      /* Set bits in GE if bytes in CHARMASK are >= bytes in LONGWORD.  */
-      asm ("cmpbge %1, %2, %0" : "=r" (ge) : "r" (charmask), "r" (longword));
-
-      /* Set bits in LE if bytes in CHARMASK are <= bytes in LONGWORD.  */
-      asm ("cmpbge %2, %1, %0" : "=r" (le) : "r" (charmask), "r" (longword));
-
-      /* Bytes that are both <= and >= are == to C.  */
-      if (zero || (ge & le))
-       {
-         /* Which of the bytes was the C?  */
-
-         char *cp = (char *) (longword_ptr - 1);
-         int i;
-
-         for (i = 0; i < 8; i++)
-           {
-             if (cp[i] == c)
-               return &cp[i];
-             if (cp[i] == 0)
-               return NULL;
-           }
-         return NULL;
-       }
-    }
-}
-
-#ifdef weak_alias
-#undef index
-weak_alias (strchr, index)
-#endif
index e381b70..49dd8e5 100644 (file)
@@ -36,7 +36,7 @@ Cambridge, MA 02139, USA.  */
    Furthermore, v0, a3-a5, t11, and t12 are untouched.
 */
 
-/* This is generally scheduled for the EV5, but should still be pretty 
+/* This is generally scheduled for the EV5, but should still be pretty
    good for the EV4 too.  */
 
 #include <sysdep.h>
@@ -65,7 +65,7 @@ stxcpy_aligned:
        lda     t2, -1          # e1    : build a mask against false zero
        mskqh   t2, a1, t2      # e0    :   detection in the src word
        mskqh   t1, a1, t3      # e0    :
-       ornot   t1, t2, t2      # .. e1 : 
+       ornot   t1, t2, t2      # .. e1 :
        mskql   t0, a1, t0      # e0    : assemble the first output word
        cmpbge  zero, t2, t7    # .. e1 : bits set iff null found
        or      t0, t3, t1      # e0    :
@@ -99,9 +99,9 @@ $a_eos:
        /* We're doing a partial word store and so need to combine
           our source and original destination words.  */
        ldq_u   t0, 0(a0)       # e0    :
-       subq    t8, 1, t6       # .. e1 : 
+       subq    t8, 1, t6       # .. e1 :
        zapnot  t1, t6, t1      # e0    : clear src bytes >= null
-       or      t8, t6, t7      # .. e1 : 
+       or      t8, t6, t7      # .. e1 :
        zap     t0, t7, t0      # e0    : clear dst bytes <= null
        or      t0, t1, t1      # e1    :
 
@@ -156,13 +156,13 @@ $u_head:
        or      t1, t4, t1      # .. e1 :
        mskqh   t1, a0, t1      # e0    :
        or      t0, t1, t1      # e1    :
-       
+
        or      t1, t6, t6      # e0    :
        cmpbge  zero, t6, t7    # .. e1 :
        lda     t6, -1          # e0    : for masking just below
        bne     t7, $u_final    # .. e1 :
 
-       mskql   t6, a1, t6              # e0    : mask out the bits we have 
+       mskql   t6, a1, t6              # e0    : mask out the bits we have
        or      t6, t2, t2              # e1    :   already extracted before
        cmpbge  zero, t2, t7            # e0    :   testing eos
        bne     t7, $u_late_head_exit   # .. e1 (zdb)
@@ -181,7 +181,7 @@ $u_head:
 
        /* Unaligned copy main loop.  In order to avoid reading too much,
           the loop is structured to detect zeros in aligned source words.
-          This has, unfortunately, effectively pulled half of a loop 
+          This has, unfortunately, effectively pulled half of a loop
           iteration out into the head and half into the tail, but it does
           prevent nastiness from accumulating in the very thing we want
           to run as fast as possible.
@@ -207,7 +207,7 @@ $u_loop:
 
        /* We've found a zero somewhere in the source word we just read.
           If it resides in the lower half, we have one (probably partial)
-          word to write out, and if it resides in the upper half, we 
+          word to write out, and if it resides in the upper half, we
           have one full and one partial word left to write out.
 
           On entry to this basic block:
@@ -234,7 +234,7 @@ $u_final:
        negq    t7, t6          # e0    : isolate low bit set
        and     t6, t7, t8      # e1    :
 
-       and     t8, 0x80, t6    # e0    : avoid dest word load if we can 
+       and     t8, 0x80, t6    # e0    : avoid dest word load if we can
        bne     t6, 1f          # .. e1 (zdb)
 
        ldq_u   t0, 0(a0)       # e0    :
@@ -256,7 +256,7 @@ $unaligned:
        and     a0, 7, t4       # .. e1 : find dest misalignment
        and     a1, 7, t5       # e0    : find src misalignment
 
-       /* Conditionally load the first destination word and a bytemask 
+       /* Conditionally load the first destination word and a bytemask
           with 0xff indicating that the destination byte is sacrosanct.  */
 
        mov     zero, t0        # .. e1 :
@@ -290,18 +290,19 @@ $unaligned:
 
        negq    t7, t6          # .. e1 : build bitmask of bytes <= zero
        and     t6, t7, t8      # e0    :
-       nop                     # .. e1 :
+       and     a1, 7, t5       # .. e1 :
        subq    t8, 1, t6       # e0    :
        or      t6, t8, t7      # e1    :
+       srl     t8, t5, t8      # e0    : adjust final null return value
 
-       zapnot  t2, t7, t2      # e0    : prepare source word; mirror changes
+       zapnot  t2, t7, t2      # .. e1 : prepare source word; mirror changes
        and     t1, t2, t1      # e1    : to source validity mask
-       extql   t2, a1, t2      # e0    :
+       extql   t2, a1, t2      # .. e0 :
        extql   t1, a1, t1      # e0    :
 
-       andnot  t0, t2, t0      # e0    : zero place for source to reside
+       andnot  t0, t2, t0      # .. e1 : zero place for source to reside
        or      t0, t1, t1      # e1    : and put it there
-       stq_u   t1, 0(a0)       # e0    :
-       ret     (t9)            # .. e1 :
+       stq_u   t1, 0(a0)       # .. e0 :
+       ret     (t9)
 
        .end __stxcpy
index 6c67436..bf62f22 100644 (file)
@@ -14,7 +14,13 @@ __cabs(z)
        return __hypot(z.x, z.y);
 }
 weak_alias (__cabs, cabs)
+
 #ifdef NO_LONG_DOUBLE
-strong_alias (__cabs, __cabsl)
-weak_alias (__cabs, cabsl)
+double
+__cabsl(z)
+       struct __cabs_complexl z;
+{
+       return __hypotl(z.x, z.y);
+}
+weak_alias (__cabsl, cabsl)
 #endif
index fc35607..8a0a70b 100644 (file)
@@ -47,5 +47,5 @@ static char rcsid[] = "$NetBSD: w_log10.c,v 1.6 1995/05/10 20:49:35 jtc Exp $";
 weak_alias (__log10, log10)
 #ifdef NO_LONG_DOUBLE
 strong_alias (__log10, __log10l)
-weak_alias (__log10, log10)
+weak_alias (__log10, log10l)
 #endif
diff --git a/sysdeps/stub/e_log10l.c b/sysdeps/stub/e_log10l.c
new file mode 100644 (file)
index 0000000..0e8cdca
--- /dev/null
@@ -0,0 +1,11 @@
+#include <math.h>
+#include <stdio.h>
+
+long double
+__ieee754_log10l (long double x)
+{
+  fputs ("__ieee754_log10l not implemented\n", stderr);
+  return 0.0;
+}
+
+stub_warning (__ieee754_log10l)
diff --git a/sysdeps/stub/e_logl.c b/sysdeps/stub/e_logl.c
new file mode 100644 (file)
index 0000000..b835754
--- /dev/null
@@ -0,0 +1,11 @@
+#include <math.h>
+#include <stdio.h>
+
+long double
+__ieee754_logl (long double x)
+{
+  fputs ("__ieee754_logl not implemented\n", stderr);
+  return 0.0;
+}
+
+stub_warning (__ieee754_logl)
diff --git a/sysdeps/stub/e_sqrtl.c b/sysdeps/stub/e_sqrtl.c
new file mode 100644 (file)
index 0000000..88a7668
--- /dev/null
@@ -0,0 +1,11 @@
+#include <math.h>
+#include <stdio.h>
+
+long double
+__ieee754_sqrtl (long double x)
+{
+  fputs ("__ieee754_sqrtl not implemented\n", stderr);
+  return 0.0;
+}
+
+stub_warning (__ieee754_sqrtl)
diff --git a/sysdeps/stub/s_atanl.c b/sysdeps/stub/s_atanl.c
new file mode 100644 (file)
index 0000000..38dd6f5
--- /dev/null
@@ -0,0 +1,12 @@
+#include <math.h>
+#include <stdio.h>
+
+long double
+__atanl (long double x)
+{
+  fputs ("__atanl not implemented\n", stderr);
+  return 0.0;
+}
+weak_alias (__atanl, atanl)
+
+stub_warning (atanl)
diff --git a/sysdeps/stub/s_log1pl.c b/sysdeps/stub/s_log1pl.c
new file mode 100644 (file)
index 0000000..0728248
--- /dev/null
@@ -0,0 +1,12 @@
+#include <math.h>
+#include <stdio.h>
+
+long double
+__log1pl (long double x)
+{
+  fputs ("__log1pl not implemented\n", stderr);
+  return 0.0;
+}
+weak_alias (__log1pl, log1pl)
+
+stub_warning (log1pl)
index 0879234..ef0dfbc 100644 (file)
@@ -1,12 +1,17 @@
 init-first.h
 sysctl.c
+termio.h
 net/if.h
+net/if_arp.h
 net/if_ppp.h
 net/ppp-comp.h
 net/ppp_defs.h
+net/route.h
 nfs/nfs.h
 sys/acct.h
+sys/debugreg.h
 sys/io.h
+sys/kd.h
 sys/kdaemon.h
 sys/klog.h
 sys/module.h
@@ -14,9 +19,10 @@ sys/mount.h
 sys/procfs.h
 sys/quota.h
 sys/socketcall.h
+sys/soundcard.h
 sys/sysctl.h
 sys/sysinfo.h
 sys/sysmacros.h
 sys/timex.h
 sys/user.h
-termio.h
+sys/vt.h
index 7cfa06d..0f563f0 100644 (file)
@@ -31,7 +31,8 @@ sysdep_headers += sys/timex.h
 endif
 
 ifeq ($(subdir), socket)
-sysdep_headers += sys/socketcall.h net/if.h
+sysdep_headers += sys/socketcall.h net/if.h net/if_ppp.h net/ppp-comp.h \
+                 net/ppp_defs.h net/if_arp.h net/route.h
 endif
 
 ifeq ($(subdir), sunrpc)
index ad5f021..75be949 100644 (file)
@@ -21,6 +21,7 @@ error.  Instead, the error condition is indicated by returning the old
 break value (instead of the new, requested one).  */
 
 #include <sysdep.h>
+#define _ERRNO_H
 #include <errnos.h>
 
 #ifdef PIC
index d4a3898..619955c 100644 (file)
@@ -28,6 +28,7 @@ Boston, MA 02111-1307, USA.  */
 #include <signal.h>
 #include <sys/time.h>
 #include <sys/types.h>
+#include <asm/user.h>
 #include <asm/elf.h>
 
 struct elf_siginfo
index f16e1dc..f47a199 100644 (file)
--- a/version.h
+++ b/version.h
@@ -1,4 +1,4 @@
 /* This file just defines the current version number of libc.  */
 
 #define RELEASE "alpha"
-#define VERSION "1.95"
+#define VERSION "1.96"