From: Timo Teräs Date: Thu, 15 Apr 2010 14:52:54 +0000 (+0300) Subject: nptl: fix libc sigtimedwait X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=268cd8184f8daa106e4b20a8ee2c66410e6f9cbb;p=uclinux-h8%2FuClibc.git nptl: fix libc sigtimedwait It seems that 57e8823548ad6e65d33b2153edeb18fb0edc20e6 removed completely sigtimedwait symbol from libc which is wrong. I hope there is not too many other things like this. Apparently the libc_hidden_* macros actually make previously hidden symbols visible globally (creates alias from __GI_* to *). This is probably ancient confusion from times when gcc did not support visibility attribute and hiding symbols was done using hacks like this. This also adds attribute_hidden to the internal __sigtimedwait for nptl case. Signed-off-by: Timo Teräs Signed-off-by: Austin Foxley --- diff --git a/libc/sysdeps/linux/common/__rt_sigtimedwait.c b/libc/sysdeps/linux/common/__rt_sigtimedwait.c index 554c6b9cb..79b94adef 100644 --- a/libc/sysdeps/linux/common/__rt_sigtimedwait.c +++ b/libc/sysdeps/linux/common/__rt_sigtimedwait.c @@ -60,8 +60,8 @@ static int do_sigtimedwait(const sigset_t *set, siginfo_t *info, } /* Return any pending signal or wait for one for the given time. */ -int __sigtimedwait(const sigset_t *set, siginfo_t *info, - const struct timespec *timeout) +int attribute_hidden __sigtimedwait(const sigset_t *set, siginfo_t *info, + const struct timespec *timeout) { if(SINGLE_THREAD_P) return do_sigtimedwait(set, info, timeout); @@ -102,3 +102,4 @@ int attribute_hidden __sigtimedwait(const sigset_t * set, siginfo_t * info, } #endif weak_alias(__sigtimedwait,sigtimedwait) +libc_hidden_weak(sigtimedwait)