This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

A problem with `make elf/ldso_install'


Hi,

 [From my backlog of patches...]

 I am observing problems with the "elf/ldso_install" target that is
available in the top level Makefile.  With 2.1 it used to install the
runtime loader only (there is even a comment in elf/Makefile that assures
that's a desired behaviour).  Now it also installs libc.so.  As a result I
cannot easily install ld.so separately anymore and also both ld.so and
libc.so get installed twice upon `make install'. 

 I believe the following change is responsible for the new behaviour. 
What was it expected to achieve?

2000-03-17  Cristian Gafton  <gafton@redhat.com>

	* elf/Makefile ($(rtld-version-installed-name)): Delay replacing
	existing rtld-installed-name.
	($(rtld-installed-name)): Request libc-$(version) be installed too.
	replace existing rtld-installed-name using $(symbolic-link-prog).

 Following is a patch that reverts the previous semantics.

2000-09-02  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>

	* elf/Makefile (install-others): Remove.
	($(inst_slibdir)/$(rtld-installed-name)): Do not depend on
	$(inst_slibdir)/libc-$(version).so.

  Maciej

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro@ds2.pg.gda.pl, PGP key available        +

diff -u --recursive --new-file glibc.macro/elf/Makefile glibc/elf/Makefile
--- glibc.macro/elf/Makefile	Thu Aug  3 02:25:40 2000
+++ glibc/elf/Makefile	Sat Sep  2 15:51:13 2000
@@ -61,7 +61,6 @@
 ifeq (yes,$(build-shared))
 extra-objs	= $(rtld-routines:=.os) soinit.os sofini.os interp.os
 generated	+= librtld.os dl-allobjs.os ld.so ldd
-install-others	= $(inst_slibdir)/$(rtld-installed-name)
 install-bin	= ldd
 endif
 
@@ -174,14 +173,15 @@
 CPPFLAGS-dl-load.c = -I$(objpfx).
 
 ifeq (yes,$(build-shared))
-$(inst_slibdir)/$(rtld-version-installed-name): $(objpfx)ld.so $(+force)
+$(inst_slibdir)/$(rtld-installed-name): $(objpfx)ld.so $(+force)
 	$(make-target-directory)
-	$(do-install-program)
-
-$(inst_slibdir)/$(rtld-installed-name): \
-  $(inst_slibdir)/$(rtld-version-installed-name) \
-  $(inst_slibdir)/libc-$(version).so
-	$(make-shlib-link)
+	$(INSTALL_PROGRAM) $< $(inst_slibdir)/$(rtld-version-installed-name).new
+	rm -f $@ $(inst_slibdir)/$(rtld-version-installed-name)
+	$(symbolic-link-prog) $(inst_slibdir)/$(rtld-version-installed-name).new $@
+	ln $(inst_slibdir)/$(rtld-version-installed-name).new $(inst_slibdir)/$(rtld-version-installed-name)
+	rm -f $@
+	$(symbolic-link-prog) $(rtld-version-installed-name) $@
+	rm -f $(inst_slibdir)/$(rtld-version-installed-name).new
 
 # Special target called by parent to install just the dynamic linker.
 .PHONY: ldso_install


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]