uclibc ld.so and LD_BIND_NOW

Michael Hunold hunold at linuxtv.org
Mon Sep 4 14:28:52 UTC 2006

Hello all,

I'm using binutils 2.16.1, gcc 4.0.3 and uclibc 0.9.28 on a MIPS
big-endian system.

I have created a shared library with functions foo() (which prints out
"foo") and bar() (which prints out "bar").

I can link my application dynamically and call foo() and bar() without

Now I removed bar() from the library and run the application again.

# ./a.out
./a.out: can't resolve symbol 'bar'

Ok, that's fine. Now I do an "export LD_BIND_NOW=1" and try again:
# ./a.out
Segmentation fault

Huh? I was expecting that the "can't resolve symbol" mesaage would
appear immediately and that the application won't start up at all.

Is the segmentation fault expected and can this behaviour be explained?

Best regards

More information about the uClibc mailing list