summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1997-01-29 03:50:12 +0000
committerUlrich Drepper <drepper@redhat.com>1997-01-29 03:50:12 +0000
commit56552e4257910954051f3ff02c0ee2609c7ca688 (patch)
tree6660d07114fd608b08bc49225d600ffb84027a57
parent831372e7c1bb907f9f2c3d78909b15717b8ac095 (diff)
downloadglibc-56552e4257910954051f3ff02c0ee2609c7ca688.tar.gz
glibc-56552e4257910954051f3ff02c0ee2609c7ca688.tar.xz
glibc-56552e4257910954051f3ff02c0ee2609c7ca688.zip
update from main archive 970128 cvs/libc-970129
1997-01-29 04:30  Ulrich Drepper  <drepper@cygnus.com>

	* sunrpc/Makefile: Don't generate headers derived from .x files when
	crosscompiling.

1997-01-28 10:51  Richard Henderson  <rth@tamu.edu>

	* Makefile: Generate gnu/lib-names.h in before-compile.
	* nss/nss.h (NSS_SHLIB_REVISION): Turn it into a const variable.
	* nss/nssswitch.c (__nss_shlib_revision): New variable.  Initialize
	to the revision found for LIBNSS_FILES_SO.
	(nss_initilized): Removed.  It was tested but never set.
	(nss_lookup_function): Don't treat NSS_SHLIB_REVISION as a literal.

	* shlib-versions: Tag all alpha-linux shlibs with a .1 "minor"
	not just libc.  Except instead of ld.so.1.1 use ld-linux.so.2.

	* sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Typo in ldgp.

1997-01-28 12:16  Andreas Jaeger  <aj@arthur.pfalz.de>

	* elf/Makefile (CFLAGS-dl-load.c): Use += to not
	override the definition.

1997-01-28 20:13  Fila Kolodny  <fila@ibi.com>

	* config.make.in (malloc): Remove.
-rw-r--r--ChangeLog28
-rw-r--r--Makefile22
-rw-r--r--config.make.in1
-rw-r--r--elf/Makefile2
-rw-r--r--nss/nss.h5
-rw-r--r--nss/nsswitch.c19
-rw-r--r--shlib-versions14
-rw-r--r--sunrpc/Makefile11
-rw-r--r--sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S4
9 files changed, 79 insertions, 27 deletions
diff --git a/ChangeLog b/ChangeLog
index 6baddc4e52..ca11fe06eb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,31 @@
+1997-01-29 04:30  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sunrpc/Makefile: Don't generate headers derived from .x files when
+	crosscompiling.
+
+1997-01-28 10:51  Richard Henderson  <rth@tamu.edu>
+
+	* Makefile: Generate gnu/lib-names.h in before-compile.
+	* nss/nss.h (NSS_SHLIB_REVISION): Turn it into a const variable.
+	* nss/nssswitch.c (__nss_shlib_revision): New variable.  Initialize
+	to the revision found for LIBNSS_FILES_SO.
+	(nss_initilized): Removed.  It was tested but never set.
+	(nss_lookup_function): Don't treat NSS_SHLIB_REVISION as a literal.
+
+	* shlib-versions: Tag all alpha-linux shlibs with a .1 "minor"
+	not just libc.  Except instead of ld.so.1.1 use ld-linux.so.2.
+
+	* sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Typo in ldgp.
+
+1997-01-28 12:16  Andreas Jaeger  <aj@arthur.pfalz.de>
+
+	* elf/Makefile (CFLAGS-dl-load.c): Use += to not
+	override the definition.
+
+1997-01-28 20:13  Fila Kolodny  <fila@ibi.com>
+
+	* config.make.in (malloc): Remove.
+
 1997-01-28 04:23  Ulrich Drepper  <drepper@cygnus.com>
 
 	* version.h (VERSION): Bump to 2.0.1.
diff --git a/Makefile b/Makefile
index 790d08f421..5cdae9469a 100644
--- a/Makefile
+++ b/Makefile
@@ -91,10 +91,12 @@ echo-headers: subdir_echo-headers
 
 # What to install.
 install-others = $(inst_includedir)/gnu/stubs.h
+install-bin = glibcbug
+
 ifeq (yes,$(build-shared))
-install-others += $(inst_includedir)/gnu/lib-names.h
+before-compile += $(objpfx)lib-names.h
+install_others += $(inst_includedir)/gnu/lib-names.h
 endif
-install-bin = glibcbug
 
 ifeq (yes,$(gnu-ld))
 libc-init = set-init
@@ -194,8 +196,13 @@ ifeq (yes,$(build-shared))
 
 # Like gnu/stubs.h the gnu/lib-names.h header is not used while building the
 # libc itself.  So we generate it while installing.
-$(inst_includedir)/gnu/lib-names.h: $(common-objpfx)soversions.mk
-	@rm -f $(objpfx)lib-names.h
+$(inst_includedir)/gnu/lib-names.h: $(objpfx)lib-names.h
+	if test -r $@ && cmp -s $< $@; \
+	then echo 'gnu/lib-names.h unchanged'; \
+	else $(INSTALL_DATA) $< $@; fi
+
+$(objpfx)lib-names.h: $(common-objpfx)soversions.mk
+	@rm -f $@
 	(echo '/* This file is automatically generated.';\
 	 echo '   It defines macros to allow user program to find the shared';\
 	 echo '   library files which come as part of GNU libc.  */';\
@@ -209,11 +216,8 @@ $(inst_includedir)/gnu/lib-names.h: $(common-objpfx)soversions.mk
 	    echo "#define	$${upname}_SO	\"$$l\""; \
 	  done;) | sort; \
 	 echo; \
-	 echo '#endif	/* gnu/lib-names.h */';) > $(objpfx)lib-names.h
-	if test -r $@ && cmp -s $(objpfx)lib-names.h $@; \
-	then echo 'gnu/lib-names.h unchanged'; \
-	else $(INSTALL_DATA) $(objpfx)lib-names.h $@; fi
-	rm -f $(objpfx)lib-names.h
+	 echo '#endif	/* gnu/lib-names.h */';) > $@
+generated += lib-names.h
 endif
 
 # The `glibcbug' script contains the version number and it shall be rebuild
diff --git a/config.make.in b/config.make.in
index 03d6c0a2e5..d714bf7974 100644
--- a/config.make.in
+++ b/config.make.in
@@ -38,7 +38,6 @@ build-shared = @shared@
 build-profile = @profile@
 build-omitfp = @omitfp@
 stdio = @stdio@
-malloc = @malloc@
 add-ons = @subdirs@
 
 # Build tools.
diff --git a/elf/Makefile b/elf/Makefile
index 5426e4e309..55094e3939 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -118,7 +118,7 @@ $(objpfx)trusted-dirs.h: Makefile
 	 done;) > $@T
 	mv -f $@T $@
 CPPFLAGS-dl-load.c = -I$(objdir)/$(subdir)
-CFLAGS-dl-load.c = -Wno-uninitialized
+CFLAGS-dl-load.c += -Wno-uninitialized
 
 # Specify the dependencies of libdl.so; its commands come from the generic
 # rule to build a shared library.
diff --git a/nss/nss.h b/nss/nss.h
index 1ba7bc8b63..8cf2565275 100644
--- a/nss/nss.h
+++ b/nss/nss.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -25,7 +25,8 @@
 #include <features.h>
 
 /* Revision number of NSS interface (must be a string).  */
-#define NSS_SHLIB_REVISION ".1"
+#define NSS_SHLIB_REVISION __nss_shlib_revision
+extern const char *const __nss_shlib_revision;
 
 
 __BEGIN_DECLS
diff --git a/nss/nsswitch.c b/nss/nsswitch.c
index 1b061fa3cd..201a2bccfe 100644
--- a/nss/nsswitch.c
+++ b/nss/nsswitch.c
@@ -1,4 +1,4 @@
-/* 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.
 
@@ -27,6 +27,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <gnu/lib-names.h>
 
 #include "nsswitch.h"
 
@@ -63,8 +64,8 @@ static struct
 __libc_lock_define_initialized (static, lock)
 
 
-/* Nonzero if the sevices are already initialized.  */
-static int nss_initialized;
+/* String with revision number of the shared object files.  */
+const char *const __nss_shlib_revision = LIBNSS_FILES_SO + 15;
 
 
 /* The root of the whole data base.  */
@@ -88,7 +89,8 @@ __nss_database_lookup (const char *database, const char *alternate_name,
       return 0;
     }
 
-  if (nss_initialized == 0 && service_table == NULL)
+  /* Are we initialized yet?  */
+  if (service_table == NULL)
     /* Read config file.  */
     service_table = nss_parse_file (_PATH_NSSWITCH_CONF);
 
@@ -330,7 +332,7 @@ nss_lookup_function (service_user *ni, const char *fct_name)
 	    {
 	      /* Load the shared library.  */
 	      size_t shlen = (7 + strlen (ni->library->name) + 3
-			      + sizeof (NSS_SHLIB_REVISION));
+			      + strlen (NSS_SHLIB_REVISION) + 1);
 	      char shlib_name[shlen];
 
 	      void do_open (void)
@@ -340,9 +342,10 @@ nss_lookup_function (service_user *ni, const char *fct_name)
 		}
 
 	      /* Construct shared object name.  */
-	      __stpcpy (__stpcpy (__stpcpy (shlib_name, "libnss_"),
-				  ni->library->name),
-			".so" NSS_SHLIB_REVISION);
+	      __stpcpy (__stpcpy (__stpcpy (__stpcpy (shlib_name, "libnss_"),
+					    ni->library->name),
+				  ".so"),
+			NSS_SHLIB_REVISION);
 
 	      if (nss_dlerror_run (do_open) != 0)
 		/* Failed to load the library.  */
diff --git a/shlib-versions b/shlib-versions
index 75d94b12fb..3ad220d625 100644
--- a/shlib-versions
+++ b/shlib-versions
@@ -11,6 +11,7 @@
 # The interface to -lm depends only on cpu, not on operating system.
 i.86-.*-.*		libm=6
 m68k-.*-.*		libm=6
+alpha-.*-linux.*	libm=6.1
 alpha-.*-.*		libm=6
 
 # We provide libc.so.6 for Linux kernel versions 2.0 and later.
@@ -29,23 +30,32 @@ alpha-.*-linux.*	libc=6.1
 
 # The dynamic loader also requires different names.
 i.86-.*-linux.*		ld=ld-linux.so.2
+alpha-.*-linux.*	ld=ld-linux.so.2
 # We use the ELF ABI standard name for the default.
 .*-.*-.*		ld=ld.so.1
 
 # The -ldl interface (see <dlfcn.h>) is the same on all platforms.
+alpha-.*-linux.*	libdl=2.1
 .*-.*-.*		libdl=2
 
 # So far the -lutil interface is the same on all platforms, except for the
 # `struct utmp' format, which depends on libc.
+alpha-.*-linux.*	libutil=1.1
 .*-.*-.*		libutil=1
 
 # Version number 2 is used on other systems for the BIND 4.9.5 resolver
 # interface.
+alpha-.*-linux.*	libresolv=2.1
 .*-.*-.*		libresolv=2
 
 # Interface revision of nss_* modules.  This must match NSS_SHLIB_REVISION
 # in nss/nsswitch.h, which determines the library names used for service
 # names given in /etc/nsswitch.conf.
+alpha-.*-linux.*	libnss_files=1.1
+alpha-.*-linux.*	libnss_dns=1.1
+alpha-.*-linux.*	libnss_db=1.1
+alpha-.*-linux.*	libnss_compat=1.1
+alpha-.*-linux.*	libnss_nis=1.1
 .*-.*-.*		libnss_files=1
 .*-.*-.*		libnss_dns=1
 .*-.*-.*		libnss_db=1
@@ -53,13 +63,17 @@ i.86-.*-linux.*		ld=ld-linux.so.2
 .*-.*-.*		libnss_nis=1
 
 # Version for libnsl with YP functions.
+alpha-.*-linux.*	libnsl=1.1
 .*-.*-.*		libnsl=1
 
 # We use libdb.so.2 for the interface in version 1.85 of the Berkeley DB code.
+alpha-.*-linux.*	libdb=2.1
 .*-.*-.*		libdb=2
 
 # This defines the shared library version numbers we will install.
+alpha-.*-linux.*	libcrypt=1.1
 .*-.*-.*		libcrypt=1
 
 # The gross patch for programs assuming broken locale implementations.
+alpha-.*-linux.*	libBrokenLocale=1.1
 .*-.*-.*		libBrokenLocale=1
diff --git a/sunrpc/Makefile b/sunrpc/Makefile
index 241eca5a25..16a503875e 100644
--- a/sunrpc/Makefile
+++ b/sunrpc/Makefile
@@ -46,13 +46,16 @@ subdir	:= sunrpc
 #	xdr_reference.c -> xdr_ref.c
 #	rpcsvc/bootparam_prot.x -> rpcsvc/bootparam.x
 
-headers = $(addprefix rpc/,auth.h auth_unix.h clnt.h netdb.h pmap_clnt.h \
-			   pmap_prot.h pmap_rmt.h rpc.h rpc_msg.h svc.h \
-			   svc_auth.h types.h xdr.h auth_des.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 \
 	 rusers.x spray.x nfs_prot.x rquota.x
+headers = $(addprefix rpc/,auth.h auth_unix.h clnt.h netdb.h pmap_clnt.h \
+			   pmap_prot.h pmap_rmt.h rpc.h rpc_msg.h svc.h \
+			   svc_auth.h types.h xdr.h auth_des.h) \
+	  $(rpcsvc:%=rpcsvc/%)
+ifeq (no,$(cross-compiling))
+headers += $(rpcsvc:%.x=rpcsvc/%.h)
+endif
 install-others = $(inst_includedir)/rpcsvc/bootparam_prot.h \
 		 $(inst_sysconfdir)/rpc
 generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c)
diff --git a/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S b/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S
index 8486cfaa3a..d2d2add56c 100644
--- a/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S
+++ b/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by David Mosberger <davidm@azstarnet.com>, 1995.
 
@@ -23,7 +23,7 @@
 
 LEAF(__ieee_set_fp_control, 16)
 #ifdef PROF
-	ldgp	gp, 0(sp)
+	ldgp	gp, 0(pv)
 	lda	sp, -16(sp)
 	.set noat
 	lda	AT, _mcount