Fun with the dynamic loader.

Rob Landley rob at landley.net
Fri Nov 14 03:14:39 UTC 2008


While debugging why the dynamic loader is just not working for me on sparc, I 
stumbled across this little gem:

Near the end of ldso/ldso/dl-startup.c we have the only user of the START() 
macro:

#ifndef START
        return _dl_elf_main;
#else
        START();
#endif

Only three architectures actually #define this macro: frv, bfin, and avr32.  
The last of which does:

./avr32/dl-startup.h:#define START()    return _dl_elf_main;

So it's #defining the macro to do what the absence of the macro would do.

Why?

Rob



More information about the uClibc mailing list