From owner-freebsd-current@FreeBSD.ORG Mon May 26 19:27:31 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9F0BD37B401 for ; Mon, 26 May 2003 19:27:31 -0700 (PDT) Received: from sasami.jurai.net (sasami.jurai.net [66.92.160.223]) by mx1.FreeBSD.org (Postfix) with ESMTP id C553D43F75 for ; Mon, 26 May 2003 19:27:30 -0700 (PDT) (envelope-from winter@jurai.net) Received: from sasami.jurai.net (sasami.jurai.net [66.92.160.223]) by sasami.jurai.net (8.12.9/8.12.9) with ESMTP id h4R2RS3q052305; Mon, 26 May 2003 22:27:29 -0400 (EDT) (envelope-from winter@jurai.net) Date: Mon, 26 May 2003 22:27:28 -0400 (EDT) From: "Matthew N. Dodd" To: Marcel Moolenaar In-Reply-To: <20030526205650.GA579@dhcp01.pn.xcllnt.net> Message-ID: <20030526214047.T86964@sasami.jurai.net> References: <20030525084629.R30007@sasami.jurai.net> <20030525190744.A86964@sasami.jurai.net> <20030525202140.Y86964@sasami.jurai.net> <20030526052119.O86964@sasami.jurai.net> <20030526205650.GA579@dhcp01.pn.xcllnt.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: current@FreeBSD.ORG Subject: Re: Preliminary ELF prebinding patches available. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 May 2003 02:27:32 -0000 On Mon, 26 May 2003, Marcel Moolenaar wrote: > You previously said that it would not work. Now it's just impractical. "would not work" is a bit strong in retrospect. > Also, it suddenly is highly desirable, while previously it was not even > an option (because it wouldn't work). No contradiction here. > Is this your final position on the matter? Sure, until I come up with solutions to the current problems. All the same I don't really expect to come up with a good solution to storing the prebinding information in the executable (libraries are possible, but still a hack.) > > 2. The BUILDID information (time() + random()) and filename is sufficient > > to reduce the chance of a collision to nil. > > It's highly flawed. Use UUIDs. They are less flawed. Its not "highly flawed". Its sufficient for the problem I'm solving. I don't care to argue relative merits. Do you have some sort of un-stated agenda I should know about? Anyhow, next time try the soft sell and talk about useful APIs that make my job easier rather than ranting about absolute technical merits that are outside the scope of the problem in question. > > If you'd like to argue with me about these statements I'll entertain those > > discussions off the list. For now, lets just accept them as given. > > No deal. Demonstrate proficiency and I might give you the benefit of > the doubt. I've spent the last two weeks learning how rtld-elf works and the various ways of implementing prebinding. If you're not willing to accept a working implementation as a qualifying credential then I need to stop replying to you. > > What is relevent is the transformation function I use on the BUILDID and > > filename may result in collisions; I'm open to suggestions on this one. > > Do not transform. Use the UUID in the executable as the name of the > cache file "cfc7a8bf-8fe9-11d7-a8b8-XXXXXXXXXXXX" seems a little long for a filename. Now that I think about it using UUIDs and storing the prebinding in a DB file makes some amount of sense (especially if I can get per object prebinding working.) > or put the prebind information in the executable itself. > The latter is highly desirable (as you say) and the impracticality > of the approach so far seems to be based on time and joy and not > on technicalities. Its based on not wanting to make huge changes in third party software. I'm fairly sure I can get the BUILDID patches into binutils (and if not they're very simple). I'm not about to write large amounts of FreeBSD specific code for binutils and then try and maintain the diffs in our tree. I'm also going to try and favor simple, easy to verify solutions over highly complex ones. -- | Matthew N. Dodd | '78 Datsun 280Z | '75 Volvo 164E | FreeBSD/NetBSD | | winter@jurai.net | 2 x '84 Volvo 245DL | ix86,sparc,pmax | | http://www.jurai.net/~winter | For Great Justice! | ISO8802.5 4ever |