[uClibc] dlopen() in static executable

Florian Schirmer jolt at tuxbox.org
Mon Feb 9 16:47:03 UTC 2004


Hi,

this is probably related to: 
http://uclibc.org/lists/uclibc/2003-December/007716.html

Calling dlopen() from a statically linked executable doesn't work. The 
application will segfault due to a totally borked symtable.

I've debugged into the problem and it appears to me that those 
weak-fake-the-linker hacks are the root of all the trouble. Since the 
executeable is statically linked there is no need to resolve those weak 
symbols.

The segfault is caused by a screwed (= non existant symbol table). If i fix 
the symbol table by hand during a debugging session and then later on step 
into those _dl* functions i always find myself in the weak stubs. So those 
functions clearly don't get resolved!

Any ideas? Any way to force the system to link in the ld-uClibc library?

Build: ia32
Target: mipsel
uclibc: lastest-stable (tried cvs-head some days ago, same result)

Thanks,
  Florian



More information about the uClibc mailing list