[uClibc] binary / libc.so.0 segfaults

Doug Vetter doug at packetstorm.com
Wed Apr 6 17:44:46 UTC 2005


Hi all,

I've been successfully working with uclibc on i386 linux (v 0.18) for a 
couple years.  I recently reinstalled my uclibc development environment 
from scratch using notes I maintained during the original install as 
well as the usual online / source documentation.  The versions of 
uclibc, target kernel, and all other applications are maintained under 
cvs and were used for the reinstall.

The problem is that binaries built in the original environment execute 
in the target environment normally, while newer ones segfault.  In fact, 
when I execute /lib/libc.so.0 in the target environment, that segfaults too.

For example, here's the dirt-simple "stat" program.  "stat" is the 
original binary.  "stat.new" is the recently built binary.  They are 
both compiled as dynamic executables in this example obviously, but 
building the new version as a static executable doesn't seem to matter 
-- it still segfaults.

Executed on the development host:

-rwxr-xr-x    1 root     root        38634 Oct  2  2003 stat*
-rwxr-xr-x    1 root     root        40005 Apr  6 12:24 stat.new*

# i386-uclibc-ldd stat
         libc.so.0 => /usr/i386-linux-uclibc/lib/libc.so.0 (0x00000000)
         /lib/ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x00000000)
# i386-uclibc-ldd stat.new
         libc.so.0 => /usr/i386-linux-uclibc/lib/libc.so.0 (0x00000000)
         /lib/ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x00000000)

My target environment has limited debugging resources due to space 
constraints (the original reason for going with uclibc), and since I 
can't seem to compile anything properly, I can't install any new 
debugging utilities on the target.

Any thoughts?

-Doug



More information about the uClibc mailing list