On Tue, 2009-06-16 at 21:07 -0300, Gerardo Exequiel Pozzi wrote:
Rare, this is not related to what "libc" used, is just an assembler label (.ident) that GCC put in the output .s file.
What are the commands that you use to build the library? Compiling an executable/library with toolchain-ulibc works fine here.
$ x86_64-unknown-linux-uclibc-gcc -fPIC -c hola.c $ x86_64-unknown-linux-uclibc-gcc -shared -o hola.so hola.o $ strings -a hola.so | grep -m1 GCC: GCC: (GNU) 4.4.0 20090526 (prerelease) $ readelf -d hola.so | grep NEEDED 0x0000000000000001 (NEEDED) Shared library: [libgcc_s.so.1] 0x0000000000000001 (NEEDED) Shared library: [libc.so.0]
This is with uclibc, binutils-uclibc and binutils-gcc, with the use of cross-compiling using --target= from configure. This label is added via /usr/lib/*.o (crt1.o and friends), but the uclibc toolchain uses /usr/x86_64-unknown-linux-uclibc/lib/*.o, which doesn't contain that label. So that clarifies the difference.