[PATCH] buildsys: Add support for bringing librt as needed.

Mike Frysinger vapier at gentoo.org
Sun Nov 20 07:25:30 UTC 2011


On Thursday 17 November 2011 21:12:08 Rich Felker wrote:
> On Thu, Nov 17, 2011 at 11:18:16AM -0500, Mike Frysinger wrote:
> > On Wednesday 16 November 2011 05:24:28 William Pitcock wrote:
> > > This helps improve portability with broken applications which expect
> > > that linking directly against libc will bring in mq_*() functions.
> > 
> > sorry, but no.  fix the broken apps.  glibc has the same "problem".
> 
> For what it's worth, having them in a separate library to begin with
> is purely a waste of resources. Every additional .so file loaded
> consumes several pages of memory, and of course disk space is also
> wasted on extra elf headers and block alignment. Copying the glibc
> practice of separating libpthread and librt from libc was just a
> mistake that should really be corrected... Users who don't want to
> waste the space for these functions can just disable them in the build
> config...

it isn't that cut & dry.  having single images is painful on nommu because it 
means much bigger chunks of contiguous memory which are often in short supply.  
it's also slower: the GOT/PLT are larger which means larger insns, symbol 
lookup is longer (although hashing mitigates much of that), and you have 
useless pthread overhead all the time.  look at how we do thread safe 
functions in the C library (and how some 3rd party libs do it) -- if 
libpthread isn't actually loaded, the calls are simple "return 0" stubs.

that said, a config option to get a "build everything into libc.so" might be 
interesting, although probably a bit of work due to the current build system.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.busybox.net/pipermail/uclibc/attachments/20111120/73672667/attachment.asc>


More information about the uClibc mailing list