summaryrefslogtreecommitdiffstats
path: root/libpthread
diff options
context:
space:
mode:
Diffstat (limited to 'libpthread')
-rw-r--r--libpthread/nptl/init.c12
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/smp.h4
2 files changed, 16 insertions, 0 deletions
diff --git a/libpthread/nptl/init.c b/libpthread/nptl/init.c
index 4c0a69d17..003dd7bbf 100644
--- a/libpthread/nptl/init.c
+++ b/libpthread/nptl/init.c
@@ -264,13 +264,21 @@ __pthread_initialize_minimal_internal (void)
sa.sa_flags = SA_SIGINFO;
__sigemptyset (&sa.sa_mask);
+#ifdef __UCLIBC__
(void) sigaction (SIGCANCEL, &sa, NULL);
+#else
+ (void) __libc_sigaction (SIGCANCEL, &sa, NULL);
+#endif
/* Install the handle to change the threads' uid/gid. */
sa.sa_sigaction = sighandler_setxid;
sa.sa_flags = SA_SIGINFO | SA_RESTART;
+#ifdef __UCLIBC__
(void) sigaction (SIGSETXID, &sa, NULL);
+#else
+ (void) __libc_sigaction (SIGSETXID, &sa, NULL);
+#endif
/* The parent process might have left the signals blocked. Just in
case, unblock it. We reuse the signal mask in the sigaction
@@ -296,7 +304,11 @@ __pthread_initialize_minimal_internal (void)
else
{
/* Round the resource limit up to page size. */
+#ifdef __UCLIBC__
const uintptr_t pagesz = sysconf (_SC_PAGESIZE);
+#else
+ const uintptr_t pagesz = __sysconf (_SC_PAGESIZE);
+#endif
__default_stacksize = (limit.rlim_cur + pagesz - 1) & -pagesz;
}
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/smp.h b/libpthread/nptl/sysdeps/unix/sysv/linux/smp.h
index 41fa97ff4..fbe16bacd 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/smp.h
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/smp.h
@@ -34,7 +34,11 @@ is_smp_system (void)
size_t reslen = sizeof (buf);
/* Try reading the number using `sysctl' first. */
+#ifdef __UCLIBC__
if (sysctl ((int *) sysctl_args,
+#else
+ if (__sysctl ((int *) sysctl_args,
+#endif
sizeof (sysctl_args) / sizeof (sysctl_args[0]),
buf, &reslen, NULL, 0) < 0)
{