From 56552e4257910954051f3ff02c0ee2609c7ca688 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 29 Jan 1997 03:50:12 +0000 Subject: update from main archive 970128 1997-01-29 04:30 Ulrich Drepper * sunrpc/Makefile: Don't generate headers derived from .x files when crosscompiling. 1997-01-28 10:51 Richard Henderson * 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 * elf/Makefile (CFLAGS-dl-load.c): Use += to not override the definition. 1997-01-28 20:13 Fila Kolodny * config.make.in (malloc): Remove. --- ChangeLog | 28 ++++++++++++++++++++++ Makefile | 22 ++++++++++------- config.make.in | 1 - elf/Makefile | 2 +- nss/nss.h | 5 ++-- nss/nsswitch.c | 19 ++++++++------- shlib-versions | 14 +++++++++++ sunrpc/Makefile | 11 +++++---- .../unix/sysv/linux/alpha/ieee_set_fp_control.S | 4 ++-- 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 + + * sunrpc/Makefile: Don't generate headers derived from .x files when + crosscompiling. + +1997-01-28 10:51 Richard Henderson + + * 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 + + * elf/Makefile (CFLAGS-dl-load.c): Use += to not + override the definition. + +1997-01-28 20:13 Fila Kolodny + + * config.make.in (malloc): Remove. + 1997-01-28 04:23 Ulrich Drepper * 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 /* 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 , 1996. @@ -27,6 +27,7 @@ #include #include #include +#include #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 ) 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 , 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 -- cgit v1.2.3