diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-11-22 17:15:56 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-11-22 17:15:56 +0000 |
commit | cf29148c9a9387a4a173dd56c7ae0fdd4418fad7 (patch) | |
tree | 907ef74d9959ba62a6143ac403f2329eb5cd0c8f | |
parent | 1e950c61e51838680f35317669376e40d69bc6c6 (diff) |
signal ops: avoid calls through PLT for __sigXXX ops
linuxthreads.old/manager: pointless style fixes, no code changes
-rw-r--r-- | libc/signal/sigsetops.c | 6 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/bits/sigset.h | 3 | ||||
-rw-r--r-- | libpthread/linuxthreads.old/manager.c | 9 |
3 files changed, 13 insertions, 5 deletions
diff --git a/libc/signal/sigsetops.c b/libc/signal/sigsetops.c index 6f1ae5c83..c47a87b0e 100644 --- a/libc/signal/sigsetops.c +++ b/libc/signal/sigsetops.c @@ -9,3 +9,9 @@ #endif #include <signal.h> + +/* Since we massaged signal.h into emitting non-inline function + * definitions, we need to finish PLT avoidance trick: */ +libc_hidden_def(__sigismember) +libc_hidden_def(__sigaddset) +libc_hidden_def(__sigdelset) diff --git a/libc/sysdeps/linux/common/bits/sigset.h b/libc/sysdeps/linux/common/bits/sigset.h index 7ccadda45..9a16e5cb9 100644 --- a/libc/sysdeps/linux/common/bits/sigset.h +++ b/libc/sysdeps/linux/common/bits/sigset.h @@ -101,8 +101,11 @@ typedef struct checking is done in the non __ versions. */ extern int __sigismember (__const __sigset_t *, int); +libc_hidden_proto(__sigismember) extern int __sigaddset (__sigset_t *, int); +libc_hidden_proto(__sigaddset) extern int __sigdelset (__sigset_t *, int); +libc_hidden_proto(__sigdelset) # ifdef __USE_EXTERN_INLINES # define __SIGSETFN(NAME, BODY, CONST) \ diff --git a/libpthread/linuxthreads.old/manager.c b/libpthread/linuxthreads.old/manager.c index 69fdd1cb5..ef9046de1 100644 --- a/libpthread/linuxthreads.old/manager.c +++ b/libpthread/linuxthreads.old/manager.c @@ -236,7 +236,7 @@ int attribute_noreturn __pthread_manager(void *arg) /* Make gdb aware of new thread and gdb will restart the new thread when it is ready to handle the new thread. */ if (__pthread_threads_debug && __pthread_sig_debug > 0) { - PDEBUG("about to call raise(__pthread_sig_debug)\n"); + PDEBUG("about to call raise(__pthread_sig_debug)\n"); raise(__pthread_sig_debug); } case REQ_KICK: @@ -349,8 +349,7 @@ static int pthread_allocate_stack(const pthread_attr_t *attr, if (attr != NULL && attr->__stackaddr_set) { /* The user provided a stack. */ - new_thread = - (pthread_descr) ((long)(attr->__stackaddr) & -sizeof(void *)) - 1; + new_thread = (pthread_descr) ((long)(attr->__stackaddr) & -sizeof(void *)) - 1; new_thread_bottom = (char *) attr->__stackaddr - attr->__stacksize; guardaddr = NULL; guardsize = 0; @@ -368,7 +367,7 @@ static int pthread_allocate_stack(const pthread_attr_t *attr, #ifdef __ARCH_USE_MMU__ stacksize = STACK_SIZE - pagesize; if (attr != NULL) - stacksize = MIN (stacksize, roundup(attr->__stacksize, pagesize)); + stacksize = MIN(stacksize, roundup(attr->__stacksize, pagesize)); /* Allocate space for stack and thread descriptor at default address */ new_thread = default_new_thread; new_thread_bottom = (char *) (new_thread + 1) - stacksize; @@ -394,7 +393,7 @@ static int pthread_allocate_stack(const pthread_attr_t *attr, /* Put a bad page at the bottom of the stack */ guardsize = attr->__guardsize; guardaddr = (void *)new_thread_bottom - guardsize; - if (mmap ((caddr_t) guardaddr, guardsize, 0, MAP_FIXED, -1, 0) + if (mmap((caddr_t) guardaddr, guardsize, 0, MAP_FIXED, -1, 0) == MAP_FAILED) { /* We don't make this an error. */ |