update from main archive 961011

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
This commit is contained in:
Ulrich Drepper 1996-10-12 00:56:05 +00:00
parent b33f91e91d
commit 1f64ac13c0
37 changed files with 295 additions and 502 deletions

102
ChangeLog
View File

@ -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.

View File

@ -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)

View File

@ -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

View File

@ -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)

View 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)

View 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))

View 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;

View 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;

View File

@ -1 +1 @@
BIND-4.9.5-T4B
BIND-4.9.5-T6B

View File

@ -92,10 +92,8 @@
#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.
@ -182,6 +180,7 @@
#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 */

View 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;

View 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));
}

View 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 */

View File

@ -645,7 +645,7 @@ netinfo_res_init(haveenv, havesearch)
}
#endif /* NeXT */
u_int16_t
u_int
res_randomid()
{
struct timeval now;

View 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)

View 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_ */

View 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

View 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;
}

View 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)

View File

@ -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;

View 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();

View 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

View File

@ -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

View 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

View 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

View 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

11
sysdeps/stub/e_log10l.c Normal file
View File

@ -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)

11
sysdeps/stub/e_logl.c Normal file
View File

@ -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)

11
sysdeps/stub/e_sqrtl.c Normal file
View File

@ -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)

12
sysdeps/stub/s_atanl.c Normal file
View File

@ -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)

12
sysdeps/stub/s_log1pl.c Normal file
View File

@ -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)

View 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

View 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)

View 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

View 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

View File

@ -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"