Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Nov 2003 20:52:14 +1100
From:      Peter Jeremy <peterjeremy@optushome.com.au>
To:        Lyndon Nerenberg <lyndon@orthanc.ca>
Cc:        current@freebsd.org
Subject:   Re: Unfortunate dynamic linking for everything
Message-ID:  <20031120095214.GA68334@server.vk2pj.dyndns.org>
In-Reply-To: <2147483647.1069240727@[192.168.42.6]>
References:  <Pine.NEB.3.96L.1031118233432.99345H-100000@fledge.watson.org> <p06002033bbe0acb7b8c0@[128.113.24.47]> <2147483647.1069240727@[192.168.42.6]>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Nov 19, 2003 at 11:18:47AM -0700, Lyndon Nerenberg wrote:
>--On Wednesday, November 19, 2003 12:30 AM -0500 Garance A Drosihn 
><drosih@rpi.edu> wrote:
>
>>have a:  chflags ldcache /bin/sh
>
>Shouldn't that be 'chmod +t /bin/sh' ???

Definitely.  Why waste a new bit when there's already a perfectly good
one that is (or was) defined for the purpose.

As for the implementation, I presume the desired behaviour would be to
snapshot the process image (make it copy-on-write) at the point where
ld-elf.so invokes main().  You'd probably want LD_BIND_NOW behaviour
to minimise the runtime overheads.  I don't see any need for this to
need massive amounts of RAM - there's no reason why the "snapshot"
couldn't be paged normally.

I think this would be a big win compared to what we have now - the
full benefits of dynamic linking remain and most of the run-time
binding overheads are removed.

Of course it's not perfect.  The snapshot image permanently occupies
virtual space (RAM/swap).  And there's still the PIC overhead -
especially on register-starved architectures like the i386.

I wonder how difficult this would be to implement in userland only?

Peter



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031120095214.GA68334>