Mostly static binaries with crunchgen

John Baldwin jhb at freebsd.org
Tue Dec 20 13:41:24 PST 2005


On Tuesday 20 December 2005 04:31 pm, Ceri Davies wrote:
> On Tue, Dec 20, 2005 at 01:43:58PM -0500, John Baldwin wrote:
> > On Tuesday 20 December 2005 10:58 am, Ceri Davies wrote:
> > > On Tue, Dec 20, 2005 at 10:29:27AM -0500, John Baldwin wrote:
> > > > The other concern is does this force the entire crunch to require a
> > > > working rtld now?  If so, that would mean that this wouldn't be
> > > > appropriate for something such as /rescue.  If there were a way to
> > > > statically link rtld into the crunch itself that would probably be
> > > > ideal, but I'm not sure that is possible.
> > >
> > > No, just the dynamic bits require rtld.
> >
> > So you can still run /foo without rtld being present if foo doesn't need
> > dlopen, etc.?  It looks like you link the crunch with -o dynamic, so
> > isn't the kernel going to complain when you try to exec it that it can't
> > find rtld if rtld is missing?  (Think about /rescue if your rtld is hosed
> > and/or missing.)
>
> Sorry, you're correct of course.  It's still useful in Adrian's
> environment at least (because he puts rtld on an MFS).

One workaround for this case would be to have two crunches, one for the 
pure-static stuff and one for the dynamic-using stuff.  Alternatively, if you 
had a way to statically link the rtld functions into the crunch you could 
still use just one crunch.  I just want to make sure we don't go turning this 
on for /rescue since that needs to work if rtld is hosed (unless we go the 
route of two crunches).

-- 
John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org


More information about the freebsd-hackers mailing list