diff options
Diffstat (limited to 'libc')
-rw-r--r-- | libc/signal/allocrtsig.c | 2 | ||||
-rw-r--r-- | libc/stdlib/malloc-standard/malloc.h | 2 | ||||
-rw-r--r-- | libc/stdlib/malloc/malloc.h | 4 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/bits/uClibc_local_lim.h | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/not-cancel.h | 17 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/pause.c | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/pread_write.c | 2 | ||||
-rw-r--r-- | libc/unistd/confstr.c | 5 |
8 files changed, 28 insertions, 8 deletions
diff --git a/libc/signal/allocrtsig.c b/libc/signal/allocrtsig.c index d93966a46..974418761 100644 --- a/libc/signal/allocrtsig.c +++ b/libc/signal/allocrtsig.c @@ -32,7 +32,7 @@ static int current_rtmax = -1; #else # ifdef __UCLIBC_HAS_THREADS_NATIVE__ static int current_rtmin = __SIGRTMIN + 2; -# elif defined __UCLIBC_HAS_THREADS__ && !defined __UCLIBC_HAS_LINUXTHREADS__ +# elif defined __UCLIBC_HAS_THREADS__ && !defined __LINUXTHREADS_OLD__ /* psm: might be good for LT old as well, do not want to break it for now */ /* Sanity check */ # if !defined __SIGRTMIN || (__SIGRTMAX - __SIGRTMIN) < 3 diff --git a/libc/stdlib/malloc-standard/malloc.h b/libc/stdlib/malloc-standard/malloc.h index f3e2d2a2a..1a4cc5a62 100644 --- a/libc/stdlib/malloc-standard/malloc.h +++ b/libc/stdlib/malloc-standard/malloc.h @@ -27,7 +27,7 @@ __UCLIBC_MUTEX_EXTERN(__malloc_lock) -#if defined __UCLIBC_HAS_THREADS__ && !defined __UCLIBC_HAS_LINUXTHREADS__ +#if defined __UCLIBC_HAS_THREADS__ && !defined __LINUXTHREADS_OLD__ attribute_hidden #endif ; diff --git a/libc/stdlib/malloc/malloc.h b/libc/stdlib/malloc/malloc.h index 75262593f..53683c479 100644 --- a/libc/stdlib/malloc/malloc.h +++ b/libc/stdlib/malloc/malloc.h @@ -199,13 +199,13 @@ extern void __malloc_debug_printf (int indent, const char *fmt, ...) attribute_h extern struct heap_free_area *__malloc_heap attribute_hidden; #ifdef __UCLIBC_HAS_THREADS__ __UCLIBC_MUTEX_EXTERN(__malloc_heap_lock) -# ifndef __UCLIBC_HAS_LINUXTHREADS__ +# ifndef __LINUXTHREADS_OLD__ attribute_hidden # endif ; # ifdef __UCLIBC_UCLINUX_BROKEN_MUNMAP__ __UCLIBC_MUTEX_EXTERN(__malloc_mmb_heap_lock) -# ifndef __UCLIBC_HAS_LINUXTHREADS__ +# ifndef __LINUXTHREADS_OLD__ attribute_hidden # endif ; diff --git a/libc/sysdeps/linux/common/bits/uClibc_local_lim.h b/libc/sysdeps/linux/common/bits/uClibc_local_lim.h index ce166a15b..0727ebf55 100644 --- a/libc/sysdeps/linux/common/bits/uClibc_local_lim.h +++ b/libc/sysdeps/linux/common/bits/uClibc_local_lim.h @@ -20,7 +20,7 @@ /* glibc uses 16384 */ # define PTHREAD_THREADS_MAX 1024 # define TIMER_MAX 256 -# ifdef __UCLIBC_HAS_LINUXTHREADS__ +# ifdef __LINUXTHREADS_OLD__ # undef SEM_VALUE_MAX # define SEM_VALUE_MAX ((int) ((~0u) >> 1)) # endif diff --git a/libc/sysdeps/linux/common/not-cancel.h b/libc/sysdeps/linux/common/not-cancel.h index ac32366a6..acf8e39e8 100644 --- a/libc/sysdeps/linux/common/not-cancel.h +++ b/libc/sysdeps/linux/common/not-cancel.h @@ -70,6 +70,12 @@ extern int __openat64_nocancel (int fd, const char *fname, int oflag, #define read_not_cancel(fd, buf, n) \ INLINE_SYSCALL (read, 3, (fd), (buf), (n)) +#ifdef __LINUXTHREADS_NEW__ +/* Uncancelable write. */ +#define write_not_cancel(fd, buf, n) \ + INLINE_SYSCALL (write, 3, (fd), (buf), (n)) +#endif + #if 0 /* Uncancelable writev. */ #define writev_not_cancel_no_status(fd, iov, n) \ @@ -81,6 +87,17 @@ extern int __openat64_nocancel (int fd, const char *fname, int oflag, __fcntl_nocancel (fd, cmd, val) #endif +#ifdef __LINUXTHREADS_NEW__ +/* Uncancelable waitpid. */ +#if 0 /*def __NR_waitpid*/ +# define waitpid_not_cancel(pid, stat_loc, options) \ + INLINE_SYSCALL (waitpid, 3, pid, stat_loc, options) +#else +# define waitpid_not_cancel(pid, stat_loc, options) \ + INLINE_SYSCALL (wait4, 4, pid, stat_loc, options, NULL) +#endif +#endif + /* Uncancelable pause. */ #ifdef __NR_pause # define pause_not_cancel() \ diff --git a/libc/sysdeps/linux/common/pause.c b/libc/sysdeps/linux/common/pause.c index 95d064ab5..c35ecd5d5 100644 --- a/libc/sysdeps/linux/common/pause.c +++ b/libc/sysdeps/linux/common/pause.c @@ -22,7 +22,7 @@ CANCELLABLE_SYSCALL(int, pause, (void), ()) # include <signal.h> int -# ifdef __UCLIBC_HAS_LINUXTHREADS__ +# ifdef __LINUXTHREADS_OLD__ weak_function # endif __NC(pause)(void) diff --git a/libc/sysdeps/linux/common/pread_write.c b/libc/sysdeps/linux/common/pread_write.c index d0abd90e4..4f96f681d 100644 --- a/libc/sysdeps/linux/common/pread_write.c +++ b/libc/sysdeps/linux/common/pread_write.c @@ -102,7 +102,7 @@ static ssize_t __NC(pwrite64)(int fd, const void *buf, size_t count, off64_t off CANCELLABLE_SYSCALL(ssize_t, pwrite64, (int fd, const void *buf, size_t count, off64_t offset), (fd, buf, count, offset)) # else -# ifdef __UCLIBC_HAS_LINUXTHREADS__ +# ifdef __LINUXTHREADS_OLD__ weak_alias(pread,pread64) weak_alias(pwrite,pwrite64) lt_strong_alias(pread64) diff --git a/libc/unistd/confstr.c b/libc/unistd/confstr.c index 4d4c217e5..373644265 100644 --- a/libc/unistd/confstr.c +++ b/libc/unistd/confstr.c @@ -43,9 +43,12 @@ size_t confstr (int name, char *buf, size_t len) break; #ifdef __UCLIBC_HAS_THREADS__ case _CS_GNU_LIBPTHREAD_VERSION: -# if defined __UCLIBC_HAS_LINUXTHREADS__ +# if defined __LINUXTHREADS_OLD__ string = "linuxthreads-0.01"; string_len = sizeof("linuxthreads-x.xx"); +# elif defined __LINUXTHREADS_NEW__ + string = "linuxthreads-0.10"; + string_len = sizeof("linuxthreads-x.xx"); # elif defined __UCLIBC_HAS_THREADS_NATIVE__ # define __NPTL_VERSION ("NPTL " \ __stringify(__UCLIBC_MAJOR__) "." \ |