summary refs log tree commit diff
path: root/elf
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1997-01-22 05:26:05 +0000
committerUlrich Drepper <drepper@redhat.com>1997-01-22 05:26:05 +0000
commit1ef32c3dc40295020b91220399d24435f6a78e48 (patch)
treeef31e1d6356e50956094905035fab7f9d63016f8 /elf
parentfd26970f3324277683be531ad2c31f42e19e4b48 (diff)
downloadglibc-1ef32c3dc40295020b91220399d24435f6a78e48.tar.gz
glibc-1ef32c3dc40295020b91220399d24435f6a78e48.tar.xz
glibc-1ef32c3dc40295020b91220399d24435f6a78e48.zip
update from main archive 970121 cvs/libc-970122
1997-01-21  Paul Eggert  <eggert@twinsun.com>

	* posix/getopt.c (_getopt_internal): Return -1, not EOF, when args
	are exhausted; this is required by POSIX.2.
	* catgets/gencat.c, db/makedb.c, locale/programs/locale.c,
	locale/programs/localedef.c, manual/examples/subopt.c,
	posix/getopt.c, posix/getopt1.c, stdio-common/bug4.c,
	sunrpc/rpcinfo.c (main): Check getopt return value against -1, not EOF.

Tue Jan 21 23:10:40 1997  Ulrich Drepper  <drepper@cygnus.com>

	* version.h (VERSION): Bump to 1.102.

	* sysdeps/unix/sysv/linux/alpha/Dist: Add kernel_sigaction.h.

	* elf/Makefile: Don't use CFLAGS-dl-load.c, but instead
	CPPFLAGS-dl-load.c so that dependencies can be determined correctly.
	* elf/dl-load.c: Fix comment.

	* time/Banner: New file.
	* time/Makefile (distribute): Add Banner.

	Update from ADO tzcode1997a and tzdata1997a.
	* time/antarctica: Update.
	* time/australia: Update.
	* time/zdump.c: Update.
	* time/zic.c: Update.
	* time/zone.tab: Update.

Mon Jan 20 08:38:32 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>

	* config.make.in (has-ldconfig): New variable.

	* configure, configure.in (has_ldconfig): New substitute.

	* sysdeps/unix/sysv/linux/configure.in (has_ldconfig): New,
	check if $srcdir/elf/ldconfig.c exists.

	* Makeconfig (rootsbindir): New, default as
	$(exec_prefix)/sbin.
	(rtld-version-installed-name): New, default as
	ld-$(version).so.

	* Makefile (install): Call `$(common-objpfx)elf/ldconfig -d'
	only if $(cross-compiling) is no and $(build-shared) is yes.

	* Makerules (make-shlib-link): New macro.
	($(slibdir)/libfoo.so.$(libfoo.so-version)): Use
	$(make-shlib-link) for symlink.
	(install-rootsbin, install-rootsbin-nosubdir): New.
	(install-no-libc.a-nosubdir): Add
	install-rootsbin-nosubdir.

	* Rules (others): Add $(install-rootsbin).

	* config.make.in (rootsbindir): New.

	* configure, configure.in (libc_cv_rootsbindir): New
	substitute.

	* elf/Makefile (others, install-rootsbin): New, set to
	ldconfig.
	(+link): New for static linking.
	($(slibdir)/$(rtld-version-installed-name)): New.
	($(slibdir)/$(rtld-installed-name)): Depend on
	$(slibdir)/$(rtld-version-installed-name) and use
	$(make-shlib-link) for symlink.

	* sunrpc/xdr.c (xdr_string): Return FALSE if sp == NULL
	while XDR_ENCODE.

	* sysdeps/unix/sysv/linux/a.out.h: Use #include_next for
	glibc internals.

	* sysdeps/unix/sysv/linux/configure.in (libc_cv_rootsbindir):
	New, set to "/sbin" if "$prefix" == "/usr".

Tue Jan 21 13:38:39 1997  Ulrich Drepper  <drepper@cygnus.com>

	* Makefile (distribute): Add glibcbug.in.
	Reported by Philip Blundell <pjb27@cam.ac.uk>.

	* elf/Makefile ($(objpfx)trusted-dirs.h): Create elf/ subdir in
	build directory if necessary.
	Reported by marcus@shannon.sysc.pdx.edu (Marcus G. Daniels).
Diffstat (limited to 'elf')
-rw-r--r--elf/Makefile25
-rw-r--r--elf/dl-load.c2
2 files changed, 22 insertions, 5 deletions
diff --git a/elf/Makefile b/elf/Makefile
index 87f2d0d67d..63a63127f8 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -55,10 +55,22 @@ install-others	= $(slibdir)/$(rtld-installed-name)
 install-bin	= ldd
 endif
 
+ifeq (yes,$(has-ldconfig))
+others		= ldconfig
+install-rootsbin = ldconfig
+
+$(objpfx)ldconfig: ldconfig.o
+	$(CC) -nostdlib -nostartfiles -o $@ $(sysdep-LDFLAGS) -static	      \
+	      $(addprefix $(csu-objpfx),start.o) $(+preinit)		      \
+	      $(filter-out $(addprefix $(csu-objpfx),start.o) $(+preinit)     \
+		$(link-extra-libs) $(common-objpfx)libc% $(+postinit),$^)     \
+	      $(link-extra-libs) $(common-objpfx)libc.a $(gnulib) $(+postinit)
+endif
+
 include ../Rules
 
 
-ifeq (yes, $(build-shared))
+ifeq (yes,$(build-shared))
 # Make sure these things are built in the `make lib' pass so they can be used
 # to run programs during the `make others' pass.
 lib-noranlib: $(objpfx)$(rtld-installed-name) \
@@ -86,7 +98,7 @@ endef
 # The dl code in the static libc needs a default library path.
 CFLAGS-dl-support.c = -D'DEFAULT_RPATH="$(default-rpath)"'
 
-ifneq (ld.so, $(rtld-installed-name))
+ifneq (ld.so,$(rtld-installed-name))
 # Make sure ld.so.1 exists in the build directory so we can link
 # against it.
 $(objpfx)$(rtld-installed-name): $(objpfx)ld.so
@@ -99,18 +111,23 @@ endif
 # add directories to the list by defining $(user-defined-trusted-dirs)
 # before starting make.
 $(objpfx)trusted-dirs.h: Makefile
+	$(make-target-directory)
 	(for dir in `echo "$(default-rpath) $(user-defined-trusted-dirs)" |   \
 		     sed 's/:/ /g'`; do					      \
 	   echo "  \"$$dir\",";						      \
 	 done;) > $@T
 	mv -f $@T $@
-CFLAGS-dl-load.c = -I$(objdir)/$(subdir)
+CPPFLAGS-dl-load.c = -I$(objdir)/$(subdir)
 
 # Specify the dependencies of libdl.so; its commands come from the generic
 # rule to build a shared library.
 $(objpfx)libdl.so: $(objpfx)libdl_pic.a $(common-objpfx)libc.so $(objpfx)ld.so
 
-$(slibdir)/$(rtld-installed-name): $(objpfx)ld.so; $(do-install-program)
+$(slibdir)/$(rtld-version-installed-name): $(objpfx)ld.so
+	$(do-install-program)
+
+$(slibdir)/$(rtld-installed-name): $(slibdir)/$(rtld-version-installed-name)
+	$(make-shlib-link)
 
 ifneq ($(have-bash2),yes)
 $(objpfx)ldd: ldd.sh.in $(common-objpfx)version.mk \
diff --git a/elf/dl-load.c b/elf/dl-load.c
index 6a3d919976..7368858f64 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -627,7 +627,7 @@ _dl_map_object (struct link_map *loader, const char *name, int type,
 	  /* We haven't found an appropriate library.  But since we
 	     are only interested in the list of libraries this isn't
 	     so severe.  Fake an entry with all the information we
-	     have (in fact only the name).  */
+	     have.  */
 	  static const ElfW(Symndx) dummy_bucket = STN_UNDEF;
 
 	  /* Enter the new object in the list of loaded objects.  */