With 0.9.32-rc3, following testing program failed with static linking on MIPS.
The result is same with gcc-4.4.5 and gcc-4.5.2. While my old 0.9.29 uClibc
plus gcc-4.4.5 works well.
Here is static-test.c
#include <signal.h>
int main(void)
{
struct sigaction old, new;
sigaction(11, &new, &old);
return 3;
}
$ mipsel-linux-gcc static-test.c -o static-test -static -lpthread
/big/toolchains/stbgcc-4.5.2-0.2/bin/../mipsel-linux-uclibc/sys-root/usr/lib/libc.a(sigaction.os):
In function `__libc_sigaction':
sigaction.c:(.text+0x0): multiple definition of `__libc_sigaction'
/big/toolchains/stbgcc-4.5.2-0.2/bin/../mipsel-linux-uclibc/sys-root/usr/lib/libpthread.a(pt-sigaction.os):pt-sigaction.c:(.text+0x0):
first defined here
/big/toolchains/stbgcc-4.5.2-0.2/bin/../mipsel-linux-uclibc/sys-root/usr/lib/libc.a(sigaction.os):
In function `sigaction':
sigaction.c:(.text+0x18): multiple definition of `__sigaction'
/big/toolchains/stbgcc-4.5.2-0.2/bin/../mipsel-linux-uclibc/sys-root/usr/lib/libpthread.a(pt-sigaction.os):pt-sigaction.c:(.text+0x18):
first defined here
collect2: ld returned 1 exit status
It is weird here since both __libc_sigaction and __sigaction are hidden, but
somehow got pulled in by linker and spit error as above.
The similar problem happened on most sig* functions, like sigprocmask, etc.
Thanks,
Jian
_______________________________________________
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc