update from main archive 970203 libc-970209
authordrepper <drepper>
Tue, 4 Feb 1997 02:00:13 +0000 (02:00 +0000)
committerdrepper <drepper>
Tue, 4 Feb 1997 02:00:13 +0000 (02:00 +0000)
16 files changed:
ChangeLog
MakeTAGS
Makerules
manual/nss.texi
manual/pattern.texi
manual/string.texi
nis/rpcsvc/yp.h
nis/rpcsvc/yp.x
nis/rpcsvc/yp_prot.h
stdlib/getsubopt.c
sunrpc/Makefile
sysdeps/i386/asm-syntax.h
sysdeps/libm-ieee754/s_tanhl.c
sysdeps/m68k/asm-syntax.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/net/ppp_defs.h
time/Makefile

index 4383e66..caf6ddb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,69 @@
+1997-02-04 02:08  Ulrich Drepper  <drepper@cygnus.com>
+
+       * Version 2.0.1 net release.
+
+1997-02-03 23:34  Stephen L Moshier  <moshier@world.std.com>
+
+       * sysdeps/libm-ieee754/s_tanhl.c: Fix backwards result sign.
+
+1997-02-03 19:59  Ulrich Drepper  <drepper@cygnus.com>
+
+       * stdlib/getsubopt.c: Don't return `=' for suboption which has
+       a parameter.  Reported by Gary L. Hennigan <glhenni@cs.sandia.gov>.
+
+1997-02-03 18:20  Thorsten Kukuk  <kukuk@weber.uni-paderborn.de>
+
+       * nis/rpcsvc/yp_proh.h (ypresp_key_val): Also change order of
+       values as in yp.x and yp.h.
+
+1997-02-03 16:58  Ulrich Drepper  <drepper@cygnus.com>
+
+       * nis/rpcsvc/yp.x (struct ypresp_key_val): Revert patch from
+       1997-02-03 02:17.  Sun's implementation internally corrects
+       this bug but we don't want to hide this from the user.
+       * nis/rpcsvc/yp.h: Likewise.
+
+1997-02-01 18:28  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * sysdeps/unix/sysv/linux/net/ppp_defs.h: Protect against multiple
+       inclusion.
+
+1997-02-02 14:56  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * manual/nss.texi, manual/pattern.texi, manual/string.texi: Doc
+       fixes.
+
+1997-02-02 11:51  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * MakeTAGS (sysdep-sources, sysdep-headers): New variables.
+       (all-sources, all-headers): Use them instead of $(sources) and
+       $(headers) when searching in sysdep directories.
+
+1997-02-02 11:49  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * Makerules (REAL_MAKE_VERSION): Use internal make function
+       instead of shelling out.
+
+1997-02-02 11:47  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * time/Makefile (install-test-data): Remove mkdir command, zic can
+       handle that gracefully.
+
+1997-02-03 14:07  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * sysdeps/m68k/asm-syntax.h: Add back file which got lost sometime
+       somehow.
+
+1997-02-02 07:46  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * sunrpc/Makefile: Check $(cross-compiling) only after including
+       ../Makeconfig.
+       ($(objpfx)rpcsvc/%.h, $(objpfx)x%.c): Add empty command to force
+       being considered as a rule.
+       (generated): Add stamp files before the inclusion of Makerules to
+       magically mark them as not being intermediate via the `generated'
+       target.
+
 1997-02-03 02:33  Ulrich Drepper  <drepper@cygnus.com>
 
        * elf/dl-deps.c (_dl_map_object_deps): Handle multiple AUXILIARY
index c6f497e..f9e073b 100644 (file)
--- a/MakeTAGS
+++ b/MakeTAGS
@@ -84,17 +84,22 @@ sources += $(foreach lib,$(extra-libs),$($(lib)-routines:=.c))
 
 # All different versions of $(sources), preserving the configured sysdep
 # directory order.
+# Files that are found in the current directory cannot occur in
+# sysdep directories, so don't bother searching them.
+sysdep-sources := $(filter-out $(wildcard $(sources)), $(sources))
 all-sources = $(wildcard $(sort $(sources) $(sources:.c=.S) $(sources:.c=.s) \
                                $(others:=.c) $(tests:=.c))) \
              $(foreach dir,$(all-dirs),\
                        $(wildcard \
                           $(addprefix $(dir)/,\
-                                      $(sort $(sources) $(sources:.c=.S) \
-                                             $(sources:.c=.s)))))
+                                      $(sort $(sysdep-sources) \
+                                             $(sysdep-sources:.c=.S) \
+                                             $(sysdep-sources:.c=.s)))))
 
+sysdep-headers := $(filter-out $(wildcard $(headers)), $(headers))
 all-headers = $(wildcard $(headers)) \
              $(foreach dir,$(all-dirs),\
-                       $(wildcard $(addprefix $(dir)/,$(headers))))
+                       $(wildcard $(addprefix $(dir)/,$(sysdep-headers))))
 
 tags_sources := $(strip $(tags_sources))
 
index a8509bc..881d584 100644 (file)
--- a/Makerules
+++ b/Makerules
@@ -26,7 +26,7 @@ This makefile requires GNU Make.
 endif
 
 REQUIRED_MAKE_VERSION = 3.74
-REAL_MAKE_VERSION = $(shell echo "$(MAKE_VERSION)" | sed 's/ .*//')
+REAL_MAKE_VERSION = $(firstword $(MAKE_VERSION))
 
 ifneq ($(REQUIRED_MAKE_VERSION), \
        $(firstword $(sort $(REAL_MAKE_VERSION) $(REQUIRED_MAKE_VERSION))))
index f24d7dd..ba333e0 100644 (file)
@@ -8,7 +8,7 @@
 @cindex databases
 Various functions in the C Library need to be configured to work
 correctly in the local environment.  Traditionally, this was done by
-using files (e.g., @file{/etc/passwd}), but other nameservices (line the
+using files (e.g., @file{/etc/passwd}), but other nameservices (like the
 Network Information Service (NIS) and the Domain Name Service (DNS))
 became popular, and were hacked into the C library, usually with a fixed
 search order (@pxref{frobnicate, , ,jargon, The Jargon File}).
@@ -20,7 +20,7 @@ scheme @dfn{Name Service Switch} (NSS).
 
 Though the interface might be similar to Sun's version there is no
 common code.  We never saw any source code of Sun's implementation and
-so the internal interface is incompatible.  This is also manifests in the
+so the internal interface is incompatible.  This also manifests in the
 file names we use as we will see later.
 
 
index b1e7206..6ac481a 100644 (file)
@@ -70,7 +70,7 @@ cannot match @samp{.} as the first character of @var{string}.
 If you set both @code{FNM_PERIOD} and @code{FNM_FILE_NAME}, then the
 special treatment applies to @samp{.} following @samp{/} as well as to
 @samp{.} at the beginning of @var{string}.  (The shell uses the
-@code{FNM_PERIOD} and @code{FNM_FILE_NAME} falgs together for matching
+@code{FNM_PERIOD} and @code{FNM_FILE_NAME} flags together for matching
 file names.)
 
 @comment fnmatch.h
index 73a29f4..efcc23e 100644 (file)
@@ -601,7 +601,7 @@ strcmp ("hello", "world")
     @result{} -15  /* @r{The character @code{'h'} comes before @code{'w'}.} */
 strcmp ("hello", "hello, world")
     @result{} -44  /* @r{Comparing a null character against a comma.} */
-strncmp ("hello", "hello, world"", 5)
+strncmp ("hello", "hello, world", 5)
     @result{} 0    /* @r{The initial 5 characters are the same.} */
 strncmp ("hello, world", "hello, stupid world!!!", 5)
     @result{} 0    /* @r{The initial 5 characters are the same.} */
index 0bee83b..40914c5 100644 (file)
@@ -221,8 +221,18 @@ bool_t xdr_ypresp_val();
 
 struct ypresp_key_val {
        ypstat stat;
+#ifdef STUPID_SUN_BUG
+       /* This is the form as distributed by Sun.  But even the Sun NIS
+          servers expect the values in the other order.  So their
+          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;
+#else
+       valdat val;
+       keydat key;
+#endif
 };
 typedef struct ypresp_key_val ypresp_key_val;
 #ifdef __cplusplus
index 6be2782..b1b2565 100644 (file)
@@ -114,8 +114,18 @@ struct ypresp_val {
 
 struct ypresp_key_val {
        ypstat stat;
+#ifdef STUPID_SUN_BUG
+       /* This is the form as distributed by Sun.  But even the Sun NIS
+          servers expect the values in the other order.  So their
+          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;
+#else
+       valdat val;
+       keydat key;
+#endif
 };
 
 
@@ -267,6 +277,12 @@ program YPPUSH_XFRRESPPROG {
                YPPUSHPROC_NULL(void) = 0;
 
 #ifdef STUPID_SUN_BUG
+               /* This is the form as distributed by Sun.  But even
+                  the Sun NIS servers expect the values in the other
+                  order.  So their 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.  */
                yppushresp_xfr
                YPPUSHPROC_XFRRESP(void) = 1;
 #else
index bee8435..0c5a710 100644 (file)
@@ -154,8 +154,18 @@ struct ypresp_val {
 
 struct ypresp_key_val {
   ypstat status;
-  keydat keydat;
-  valdat valdat;
+#ifdef STUPID_SUN_BUG
+  /* This is the form as distributed by Sun.  But even the Sun NIS
+     servers expect the values in the other order.  So their
+     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;
+#else
+  valdat val;
+  keydat key;
+#endif
 };
 
 struct ypresp_master {
index fa9eb06..ecdc1ed 100644 (file)
@@ -1,5 +1,5 @@
 /* Parse comma separate list into words.
-   Copyright (C) 1996 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -57,7 +57,7 @@ getsubopt (optionp, tokens, valuep)
        && tokens[cnt][vstart - *optionp] == '\0')
       {
        /* We found the current option in TOKENS.  */
-       *valuep = vstart != endp ? vstart : NULL;
+       *valuep = vstart != endp ? vstart + 1 : NULL;
 
        if (*endp != '\0')
          *endp++ = '\0';
index 9c43415..2b232ac 100644 (file)
@@ -54,11 +54,8 @@ headers = $(addprefix rpc/,auth.h auth_unix.h clnt.h netdb.h pmap_clnt.h \
                           svc_auth.h types.h xdr.h auth_des.h) \
          $(rpcsvc:%=rpcsvc/%)
 install-others = $(inst_sysconfdir)/rpc
-ifeq (no,$(cross-compiling))
-headers += $(rpcsvc:%.x=rpcsvc/%.h)
-install-others += $(inst_includedir)/rpcsvc/bootparam_prot.h
-endif
-generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c)
+generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) \
+           $(rpcsvc:%.x=rpcsvc/%.stmp) $(rpcsvc:%.x=x%.stmp)
 
 routines := auth_none auth_unix authuxprot bindrsvprt \
            clnt_gen clnt_perr clnt_raw clnt_simp clnt_tcp \
@@ -89,6 +86,8 @@ include ../Makeconfig
 
 ifeq (no,$(cross-compiling))
 # We can only build this library if we can run the rpcgen we build.
+headers += $(rpcsvc:%.x=rpcsvc/%.h)
+install-others += $(inst_includedir)/rpcsvc/bootparam_prot.h
 extra-libs := librpcsvc
 extra-libs-others := librpcsvc # Make it in `others' pass, not `lib' pass.
 librpcsvc-routines = $(rpcsvc:%.x=x%)
@@ -120,8 +119,7 @@ defines := $(defines) -D_PATH_RPC='"$(sysconfdir)/rpc"'
 # Generate the rpcsvc headers with rpcgen.
 # We use a stamp file to avoid unnessary recompilation each time rpcgen is
 # relinked.
-$(objpfx)rpcsvc/%.h: $(objpfx)rpcsvc/%.stmp
-       @:
+$(rpcsvc:%.x=$(objpfx)rpcsvc/%.h): $(objpfx)rpcsvc/%.h: $(objpfx)rpcsvc/%.stmp;
 $(objpfx)rpcsvc/%.stmp: rpcsvc/%.x $(objpfx)rpcgen
        $(make-target-directory)
        -@rm -f ${@:stmp=T} $@
@@ -132,8 +130,7 @@ $(objpfx)rpcsvc/%.stmp: rpcsvc/%.x $(objpfx)rpcgen
        touch $@
 
 # Generate the rpcsvc XDR functions with rpcgen.
-$(objpfx)x%.c: $(objpfx)x%.stmp
-       @:
+$(rpcsvc:%.x=$(objpfx)x%.c): $(objpfx)x%.c: $(objpfx)x%.stmp;
 $(objpfx)x%.stmp: rpcsvc/%.x $(objpfx)rpcgen
        -@rm -f ${@:stmp=T} $@
        $(rpcgen-cmd) -c $< -o ${@:stmp=T}
@@ -142,8 +139,6 @@ $(objpfx)x%.stmp: rpcsvc/%.x $(objpfx)rpcgen
        else mv -f ${@:stmp=T} ${@:stmp=c}; fi
        touch $@
 
-generated += $(rpcsvc:%.x=rpcsvc/%.stmp) $(rpcsvc:%.x=x%.stmp)
-
 # The generated source files depend on the corresponding generated headers.
 # Gratuitous dependency on generated .c file here just gets it mentioned to
 # avoid being an intermediate file and getting removed.
index 6e28776..fe3995f 100644 (file)
@@ -1,22 +1,23 @@
-/* asm.h -- Definitions for x86 syntax variations.
+/* Definitions for x86 syntax variations.
+   Copyright (C) 1992, 1994, 1995, 1997 Free Software Foundation, Inc.
 
-Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.  Its master source is NOT part of
+   the C library, however.  The master source lives in the GNU MP Library.
 
-This file is part of the GNU MP 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 MP 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.
 
-The GNU MP 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 MP Library; see the file COPYING.LIB.  If not, write to
-the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
+   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.  */
 
 #undef ALIGN
 
index 9863af6..f7ea3f4 100644 (file)
@@ -87,6 +87,6 @@ static long double one=1.0, two=2.0, tiny = 1.0e-4900L;
        } else {
            z = one - tiny;             /* raised inexact flag */
        }
-       return (se>0x7fff)? z: -z;
+       return (se>0x7fff)? -z: z;
 }
 weak_alias (__tanhl, tanhl)
diff --git a/sysdeps/m68k/asm-syntax.h b/sysdeps/m68k/asm-syntax.h
new file mode 100644 (file)
index 0000000..fbb0e2f
--- /dev/null
@@ -0,0 +1,110 @@
+/* Definitions for 68k syntax variations.
+   Copyright (C) 1992, 1994, 1996, 1997 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.  Its master source is NOT part of
+   the C library, however.  The master source lives in the GNU MP 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.  */
+
+#ifdef HAVE_ELF
+
+/* ELF uses byte-counts for .align, most others use log2 of count of bytes.  */
+#define ALIGNARG(log2) 1<<log2
+/* For ELF we need the `.type' directive to make shared libs work right.  */
+#define PROLOG(name) .type name,@function
+#define EPILOG(name) .size name,.-name
+/* For ELF we need to prefix register names and local labels.  */
+#ifdef __STDC__
+#define R_(r) %##r
+#define R(r) R_(r)
+#define L(label) .##label
+#else
+#define R(r) %/**/r
+#define L(label) ./**/label
+#endif
+
+#else
+
+#define ALIGNARG(log2) log2
+#define PROLOG(name) /* Nothing.  */
+#define EPILOG(name) /* Nothing.  */
+#define R(r) r
+#define L(label) label
+
+#endif
+
+#ifdef MIT_SYNTAX
+#define MEM(base)R(base)@
+#define MEM_DISP(base,displacement)R(base)@(displacement)
+#define MEM_INDX(base,idx,size_suffix)R(base)@(R(idx):size_suffix)
+#define MEM_INDX1(base,idx,size_suffix,scale)R(base)@(R(idx):size_suffix:scale)
+#define MEM_PREDEC(memory_base)R(memory_base)@-
+#define MEM_POSTINC(memory_base)R(memory_base)@+
+#define TEXT .text
+#define ALIGN .even
+#define GLOBL .globl
+/* Use variable sized opcodes.  */
+#define bcc jcc
+#define bcs jcs
+#define bls jls
+#define beq jeq
+#define bne jne
+#define bra jra
+#endif
+
+#ifdef MOTOROLA_SYNTAX
+#define MEM(base)(R(base))
+#define MEM_DISP(base,displacement)(displacement,R(base))
+#define MEM_PREDEC(memory_base)-(R(memory_base))
+#define MEM_POSTINC(memory_base)(R(memory_base))+
+#ifdef __STDC__
+#define MEM_INDX_(base,idx,size_suffix)(R(base),R(idx##.##size_suffix))
+#define MEM_INDX(base,idx,size_suffix)MEM_INDX_(base,idx,size_suffix)
+#define MEM_INDX1_(base,idx,size_suffix,scale)(R(base),R(idx##.##size_suffix*scale))
+#define MEM_INDX1(base,idx,size_suffix,scale)MEM_INDX1_(base,idx,size_suffix,scale)
+#else
+#define MEM_INDX(base,idx,size_suffix)(R(base),R(idx).size_suffix)
+#define MEM_INDX1(base,idx,size_suffix,scale)(R(base),R(idx).size_suffix*scale)
+#endif
+#define TEXT .text
+#define ALIGN .align ALIGNARG(2)
+#define GLOBL .globl
+#define bcc jbcc
+#define bcs jbcs
+#define bls jbls
+#define beq jbeq
+#define bne jbne
+#define bra jbra
+#define movel move.l
+#define moveml movem.l
+#define moveql moveq.l
+#define cmpl cmp.l
+#define orl or.l
+#define clrl clr.l
+#define eorw eor.w
+#define lsrl lsr.l
+#define lsll lsl.l
+#define roxrl roxr.l
+#define roxll roxl.l
+#define addl add.l
+#define addxl addx.l
+#define addql addq.l
+#define subl sub.l
+#define subxl subx.l
+#define subql subq.l
+#define negl neg.l
+#define mulul mulu.l
+#endif
index 21a33b2..dfd40e1 100644 (file)
@@ -1,3 +1,8 @@
+#ifndef _NET_PPP_DEFS_H
+#define _NET_PPP_DEFS_H 1
+
 #include <sys/types.h>
 typedef u_int32_t __u32;
 #include <linux/ppp_defs.h>
+
+#endif /* net/ppp_defs.h */
index 08a19a1..d90bc87 100644 (file)
@@ -169,7 +169,6 @@ CFLAGS-tzset.c = $(tz-cflags)
 .PHONY: install-test-data
 install-test-data: northamerica $(objpfx)zic $(leapseconds) yearistype \
                   etcetera simplebackw
-       -mkdir $(objpfx)testdata
        $(built-program-cmd) -d $(objpfx)testdata -L $(leapseconds) \
          -y yearistype northamerica
        $(built-program-cmd) -d $(objpfx)testdata -L $(leapseconds) \