This is the mail archive of the libc-alpha@sourceware.cygnus.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]

Re: glibc-2.1.91: segfault problem overcome via kludge


On Tue, Jul 04, 2000 at 12:03:30PM -0700, H . J . Lu wrote:
> On Mon, Jul 03, 2000 at 06:35:33PM -0700, Adam J. Richter wrote:
> > H. J. Lu writes:
> > >That is strange. I have made sure no DSO will be used until the end
> > >of "make install". Something must be changed. The last 3 commands of
> > >"make install" should be
> > [...]
> > 
> > 	The situation was stranger than that.  The segmentation
> > fault actually occurred when it was trying to invoke the C compiler
> > for some reason, presumably some dependency issue.  Before I reported
> > the problem, I had already succeeded in reproducing it with glibc-2.1.91
> 
> Could someone please check why the symlink, ld-linux.so.2, is created
> during the middle of "make install"? That may kill the system. That is
> a new bug. I will take a look at it in the meantime myself.
> 
> 

This patch seems to do the trick. I don't know why it was not done
this way in the first place.


H.J.
---
2000-07-04  H.J. Lu  <hjl@gnu.org>

	* elf/Makefile ($(inst_slibdir)/$(rtld-version-installed-name)):
	Use $(do-install-program) instead of "$(INSTALL_PROGRAM) $< $@.new".
	($(inst_slibdir)/$(rtld-installed-name)): Use $(make-shlib-link)
	only.

Index: elf/Makefile
===================================================================
RCS file: /work/cvs/gnu/glibc/elf/Makefile,v
retrieving revision 1.1.1.4
diff -u -p -r1.1.1.4 Makefile
--- elf/Makefile	2000/07/01 19:21:24	1.1.1.4
+++ elf/Makefile	2000/07/04 19:40:33
@@ -166,17 +166,12 @@ CPPFLAGS-dl-load.c = -I$(objpfx).
 ifeq (yes,$(build-shared))
 $(inst_slibdir)/$(rtld-version-installed-name): $(objpfx)ld.so $(+force)
 	$(make-target-directory)
-	$(INSTALL_PROGRAM) $< $@.new
+	$(do-install-program)
 
 $(inst_slibdir)/$(rtld-installed-name): \
   $(inst_slibdir)/$(rtld-version-installed-name) \
   $(inst_slibdir)/libc-$(version).so
-	rm -f $@ $<
-	$(symbolic-link-prog) $<.new $@
-	ln $<.new $<
-	rm -f $@
-	$(symbolic-link-prog) $(<F) $@
-	rm -f $<.new
+	$(make-shlib-link)
 
 # 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]