From owner-freebsd-stable Thu May 20 8:32:17 1999 Delivered-To: freebsd-stable@freebsd.org Received: from wall.polstra.com (rtrwan160.accessone.com [206.213.115.74]) by hub.freebsd.org (Postfix) with ESMTP id 351B514DC8 for ; Thu, 20 May 1999 08:32:14 -0700 (PDT) (envelope-from jdp@polstra.com) Received: from vashon.polstra.com (vashon.polstra.com [206.213.73.13]) by wall.polstra.com (8.9.3/8.9.1) with ESMTP id IAA18990; Thu, 20 May 1999 08:32:13 -0700 (PDT) (envelope-from jdp@polstra.com) From: John Polstra Received: (from jdp@localhost) by vashon.polstra.com (8.9.3/8.9.1) id IAA41308; Thu, 20 May 1999 08:32:12 -0700 (PDT) (envelope-from jdp@polstra.com) Date: Thu, 20 May 1999 08:32:12 -0700 (PDT) Message-Id: <199905201532.IAA41308@vashon.polstra.com> To: andre.albsmeier@mchp.siemens.de Subject: Re: ld-elf.so.1 on 3.2-STABLE breaks yppush In-Reply-To: <19990518221639.A64601@internal> Organization: Polstra & Co., Seattle, WA Cc: stable@freebsd.org Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG In article <19990518221639.A64601@internal>, Andre Albsmeier wrote: > > I am using one NIS master together with two slaves. With the > upgrade to 3.2-STABLE, yppush fails when trying to update > the maps on the slaves. > > After suspecting a bug in the NIS system first, it turned > out that /usr/libexec/ld-elf.so.1 is the reason for that. > > When replacing libexec/rtld-elf/rtld.c from 3.2-STABLE > with version 1.13.2.7 it works again. Using 1.13.2.8, > it breaks again. The cvs comment for the 1.13.2.8 commit > says: > > ------------------- snip --------------------------- > > 1.13.2.8 Wed Apr 28 1:27:55 1999 UTC by jdp > Branch: RELENG_3 > Diffs to 1.13.2.7 > > MFC 1.21 -> 1.22: Initialize "__progname" and "environ" before > calling _init() functions. > > ------------------- snap --------------------------- That is very strange! Could you please try an experiment for me? One at a time, comment out these lines in rtld.c: set_program_var("__progname", argv[0] != NULL ? basename(argv[0]) : ""); set_program_var("environ", env); and try to find out which one is causing the problem. And I'll have to issue my usual caution about messing with the dynamic linker. Make a copy of a known good dynamic linker, and have it handy in /usr/libexec in case you run into problems. If you break the installed version, it's very handy to have a working one all ready to "mv" back into place. If you lose your dynamic linker, then only statically linked programs will run. (I know you already know this Andre. The caution is for the benefit of others. :-) Thanks, John -- John Polstra jdp@polstra.com John D. Polstra & Co., Inc. Seattle, Washington USA "Self-interest is the aphrodisiac of belief." -- James V. DeLong To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message