From owner-cvs-libexec Sun Jun 21 07:24:09 1998 Return-Path: Received: (from daemon@localhost) by hub.freebsd.org (8.8.8/8.8.8) id HAA23033 for cvs-libexec-outgoing; Sun, 21 Jun 1998 07:24:09 -0700 (PDT) (envelope-from owner-cvs-libexec) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id HAA22992; Sun, 21 Jun 1998 07:24:03 -0700 (PDT) (envelope-from mckay@FreeBSD.org) From: Stephen McKay Received: (from mckay@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id HAA25239; Sun, 21 Jun 1998 07:22:32 -0700 (PDT) Date: Sun, 21 Jun 1998 07:22:32 -0700 (PDT) Message-Id: <199806211422.HAA25239@freefall.freebsd.org> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, cvs-libexec@FreeBSD.ORG Subject: cvs commit: src/libexec/rtld-aout rtld.c Sender: owner-cvs-libexec@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk mckay 1998/06/21 07:22:31 PDT Modified files: libexec/rtld-aout rtld.c Log: Since I got no objections to this patch, and no one has offered any alternative, I present .. ta! da! .. the __error() hack. This patch to the a.out dynamic loader provides old a.out binaries with __error() if they are linked with an older libc that lacks it, but are also linked against a library that needs it. There is a smaller, tricker hack that takes advantage of the fact that ld.so has __error() too, courtesy of the new libc, but this hack is the straightforward version. Revision Changes Path 1.55 +70 -1 src/libexec/rtld-aout/rtld.c From owner-cvs-libexec Sun Jun 21 11:24:46 1998 Return-Path: Received: (from daemon@localhost) by hub.freebsd.org (8.8.8/8.8.8) id LAA13242 for cvs-libexec-outgoing; Sun, 21 Jun 1998 11:24:46 -0700 (PDT) (envelope-from owner-cvs-libexec) Received: from ns.mt.sri.com (sri-gw.MT.net [206.127.105.141]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id LAA13229; Sun, 21 Jun 1998 11:24:37 -0700 (PDT) (envelope-from nate@mt.sri.com) Received: from mt.sri.com (rocky.mt.sri.com [206.127.76.100]) by ns.mt.sri.com (8.8.8/8.8.8) with SMTP id MAA16741; Sun, 21 Jun 1998 12:24:30 -0600 (MDT) (envelope-from nate@rocky.mt.sri.com) Received: by mt.sri.com (SMI-8.6/SMI-SVR4) id MAA16738; Sun, 21 Jun 1998 12:24:27 -0600 Date: Sun, 21 Jun 1998 12:24:27 -0600 Message-Id: <199806211824.MAA16738@mt.sri.com> From: Nate Williams MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: Stephen McKay Cc: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, cvs-libexec@FreeBSD.ORG Subject: Re: cvs commit: src/libexec/rtld-aout rtld.c In-Reply-To: <199806211422.HAA25239@freefall.freebsd.org> References: <199806211422.HAA25239@freefall.freebsd.org> X-Mailer: VM 6.29 under 19.15 XEmacs Lucid Sender: owner-cvs-libexec@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > mckay 1998/06/21 07:22:31 PDT > > Modified files: > libexec/rtld-aout rtld.c > Log: > Since I got no objections to this patch I thought there was wide-spread objections to this patch based on the fact that this 'hack' must continually be in FreeBSD from here til eternity, thus slowing down the loader as well as being a poor solution. IMHO, it should be backed out, as the 'error' errors will end up being a non-problem when the ELF switch-over is done. Nate From owner-cvs-libexec Sun Jun 21 20:19:38 1998 Return-Path: Received: (from daemon@localhost) by hub.freebsd.org (8.8.8/8.8.8) id UAA00610 for cvs-libexec-outgoing; Sun, 21 Jun 1998 20:19:38 -0700 (PDT) (envelope-from owner-cvs-libexec) Received: from ren.dtir.qld.gov.au (firewall-user@ns.dtir.qld.gov.au [203.108.138.66]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id UAA00574; Sun, 21 Jun 1998 20:19:17 -0700 (PDT) (envelope-from syssgm@dtir.qld.gov.au) Received: by ren.dtir.qld.gov.au; id NAA12097; Mon, 22 Jun 1998 13:18:31 +1000 (EST) Received: from ogre.dtir.qld.gov.au(167.123.8.3) by ren.dtir.qld.gov.au via smap (3.2) id xma012082; Mon, 22 Jun 98 13:18:05 +1000 Received: from atlas.dtir.qld.gov.au (atlas.dtir.qld.gov.au [167.123.8.9]) by ogre.dtir.qld.gov.au (8.8.8/8.8.7) with ESMTP id NAA08891; Mon, 22 Jun 1998 13:18:05 +1000 (EST) Received: from nymph.dtir.qld.gov.au (nymph.dtir.qld.gov.au [167.123.10.10]) by atlas.dtir.qld.gov.au (8.8.5/8.8.5) with ESMTP id NAA00767; Mon, 22 Jun 1998 13:18:04 +1000 (EST) Received: from nymph.dtir.qld.gov.au (localhost.dtir.qld.gov.au [127.0.0.1]) by nymph.dtir.qld.gov.au (8.8.8/8.8.7) with ESMTP id NAA11748; Mon, 22 Jun 1998 13:18:04 +1000 (EST) (envelope-from syssgm@nymph.dtir.qld.gov.au) Message-Id: <199806220318.NAA11748@nymph.dtir.qld.gov.au> To: Nate Williams cc: Stephen McKay , cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, cvs-libexec@FreeBSD.ORG Subject: Re: cvs commit: src/libexec/rtld-aout rtld.c References: <199806211422.HAA25239@freefall.freebsd.org> <199806211824.MAA16738@mt.sri.com> In-Reply-To: <199806211824.MAA16738@mt.sri.com> from Nate Williams at "Sun, 21 Jun 1998 12:24:27 -0600" Date: Mon, 22 Jun 1998 13:18:04 +1000 From: Stephen McKay Sender: owner-cvs-libexec@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk On Sunday, 21st June 1998, Nate Williams wrote: >> mckay 1998/06/21 07:22:31 PDT >> >> Modified files: >> libexec/rtld-aout rtld.c >> Log: >> Since I got no objections to this patch >I thought there was wide-spread objections to this patch based on the >fact that this 'hack' must continually be in FreeBSD from here til >eternity, thus slowing down the loader as well as being a poor solution. > >IMHO, it should be backed out, as the 'error' errors will end up being a >non-problem when the ELF switch-over is done. I got no replies to the public airing of this patch in -current. I know some people object, but they would not support any of the alternative options. I am happy to back out this patch the moment a workable alternative is in place. It is carefully designed to be instantly removable. It also has no performance impact on executables that are linked with a libc that supplies __error. Stephen.