Unfortunate dynamic linking for everything
peterjeremy at optushome.com.au
Thu Nov 20 01:52:30 PST 2003
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 at 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?
More information about the freebsd-current