uClibc-0.9.33: ARM NPTL static link failure with sigprocmask vs. setjmp

Tony Wu tung7970 at gmail.com
Mon Feb 20 16:11:37 UTC 2012


On Mon, Feb 20, 2012 at 10:55 PM, Johannes Stezenbach <js at sig21.net> wrote:
> Hi,
>
> while my simple test cases all worked a more complicated application
> fails to link.  I distilled this small test case:
>
> #include <stddef.h>
> #include <signal.h>
> #include <setjmp.h>
>
> int main()
> {
>        sigset_t set;
>        jmp_buf env;
>        sigemptyset(&set);
>        sigprocmask(SIG_BLOCK, &set, NULL);
>        setjmp(env);
>        return 0;
> }
>
> $ arm-unknown-linux-uclibcgnueabi-gcc -Wall sig.c -static -lpthread
> .../arm-unknown-linux-uclibcgnueabi/sysroot/usr/lib/libc.a(sigprocmask.o): In function `__GI_sigprocmask':
> .../arm-unknown-linux-uclibcgnueabi/build/build-libc/libc/sysdeps/linux/common/sigprocmask.c:27: multiple definition of `sigprocmask'
> .../arm-unknown-linux-uclibcgnueabi/sysroot/usr/lib/libpthread.a(pt-sigprocmask.o):.../arm-unknown-linux-uclibcgnueabi/build/build-libc/./libc/sysdeps/linux/arm/../../../../libc/sysdeps/linux/common/sigprocmask.c:27: first defined here
> collect2: ld returned 1 exit status
>
>
> I'm not sure what is the right fix.
> Just remove libpthread/nptl/sysdeps/pthread/sigprocmask.c ?
>
>
> Johannes
> _______________________________________________
> uClibc mailing list
> uClibc at uclibc.org
> http://lists.busybox.net/mailman/listinfo/uclibc

The sigaction, sigprocmask, and sigfillset static link issue has
already been addressed in the future branch back in Apr. 2011, but the
future branch is not merged yet.

Until then, you can try to cherry-pick the following patches manually.
8ab3145f396eb35d15466b0666270ba8dad69da5
aed47156856366c6aaf29a54e68fed39733f6bce

Tony


More information about the uClibc mailing list