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>