0.9.32.2 build breaks on sparc due to __libc_sigaction.

Rob Landley rob at landley.net
Mon Feb 1 10:25:57 UTC 2010


Building for sparc does this:

  CC libc/sysdeps/linux/sparc/sigaction.os
libc/sysdeps/linux/sparc/sigaction.c: In function '__libc_sigaction':
libc/sysdeps/linux/sparc/sigaction.c:57: warning: passing argument 2 of 
'rt_sigaction' makes integer from pointer without a cast
libc/sysdeps/linux/sparc/sigaction.c:57: warning: passing argument 3 of 
'rt_sigaction' makes integer from pointer without a cast
libc/sysdeps/linux/sparc/sigaction.c: At top level:
libc/sysdeps/linux/sparc/sigaction.c:76: error: '__EI_sigaction' aliased to 
undefined symbol '__GI_sigaction'
make: *** [libc/sysdeps/linux/sparc/sigaction.os] Error 1

git bisect says it was introduced by this:

commit 63cc00c3e9d43301f60c4a902262f59400f984c3
Author: Austin Foxley <austinf at cetoncorp.com>
Date:   Wed May 20 18:05:24 2009 -0700

    Add a sigaction implementation for sparc
    
    Signed-off-by: Austin Foxley <austinf at cetoncorp.com>
    Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop at gmail.com>

Here's a patch that makes it compile for me.  I'm almost certain it's not the 
RIGHT fix, it's just "taking what brk.c in the same directory seems to be doing 
and throwing in one extra line because something in another file is calling 
__libc_sigaction directly for some reason so do the the funky elf symbol 
symlinking thing to get it to shut up".

When you tell me _why_ this patch is wrong, could somebody please explain why 
brk.c does it differently, and why the C library is going out of its way to 
only export weak symbols for something susv4 says it should define (and for 
that matter, was in the version of posix released 22 years ago according to 
the change history).

  http://www.opengroup.org/onlinepubs/9699919799/functions/sigaction.html

I do not understand this at _all_.

Thanks,

Rob
-- 
Latency is more important than throughput. It's that simple. - Linus Torvalds
-------------- next part --------------
A non-text attachment was scrubbed...
Name: uClibc-sigaction.patch
Type: text/x-patch
Size: 869 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/uclibc/attachments/20100201/ed45d1b3/attachment.bin>


More information about the uClibc mailing list