Interesting linker 'extension' from Firefox folk

Lennart Sorensen lsorense-1wCw9BSqJbv44Nm34jS7GywD8/FfD2ys at public.gmane.org
Thu Mar 1 19:01:09 UTC 2012


On Thu, Mar 01, 2012 at 01:25:02PM -0500, Christopher Browne wrote:
> The Firefox folks have done an interesting thing with library linkages...
> http://glandium.org/blog/?p=2436
> 
> See code:
>     https://github.com/glandium/faulty.lib
> 
> Notion is that library code that doesn't *actually* get referenced
> shouldn't necessarily need to get drawn into memory immediately, or
> perhaps even ever.  Evidently Firefox has quite a lot of code of that
> sort.  I wouldn't be surprised if the same is true for LibreOffice,
> KDE, GNOME...
> 
> They built a linker (valid for Linux and Android) which puts libraries
> into a compressed form that may be accessed in "slices", so that only
> those slices that actually get referenced get uncompressed and loaded
> into memory.  Smells a bit like the Multics notion of "library
> faults".

Why do I suspect this breaks shared memory copies of libraries which we
currently enjoy?

I know android does weird stuff with libraries, but then again I don't
care.

Of course if it is a library that is only used by firefox, then I suppose
it doesn't matter.  After all who has multiuser systems anymore where
multiple users might run the same program.

> The latter was more powerful; it would allow suspending the code, and
> you could conceivably stop, implement the code that would support
> whatever function was requested, and then let the application
> continue, running against code that perhaps hadn't yet been
> implemented when you started up the application.  That's not an
> approach that's anywhere near being called "friendly" to
> non-programmers, but could certainly be interesting during development
> of an application.

-- 
Len Sorensen
--
The Toronto Linux Users Group.      Meetings: http://gtalug.org/
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists





More information about the Legacy mailing list