Spurious dtor-attribute in ldso.c

Michael Deutschmann michael at talamasca.ocis.net
Tue May 5 09:47:02 UTC 2009


I've noticed one bit of code in uClibc-0.9.30.1, which makes no sense.

It's in "ldso/ldso/ldso.c".  The function "_dl_fini" is marked __attribute__
((destructor)).

That marking cannot have any effect.  GCC's constructor and destructor
attributes depend upon the crt*.o modules to function.  Since ld.so must
run before libc is loaded, it has a highly custom entry arrangement that
does not use those modules.

While this function does indeed need to be run at shutdown (in order to
handle shared libraries with destructors), that is handled explictly by
the assembler code which hands off to the loaded program's main.

All this seems to do is bloat ld-uclibc.so by 44 bytes.

---- Michael Deutschmann <michael at talamasca.ocis.net>


More information about the uClibc mailing list