diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-06-17 22:40:05 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-06-17 22:40:05 +0000 |
commit | f23b30e23b93d55dfa6f11e8eaa7f0f9dd492d93 (patch) | |
tree | 21ec8f3fd1769e3bf02b158288c8a1d371539311 /linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h | |
parent | 60d73a7ac4e0116ef2e458d705aeee14aff7aed9 (diff) | |
download | glibc-f23b30e23b93d55dfa6f11e8eaa7f0f9dd492d93.tar glibc-f23b30e23b93d55dfa6f11e8eaa7f0f9dd492d93.tar.gz glibc-f23b30e23b93d55dfa6f11e8eaa7f0f9dd492d93.tar.bz2 glibc-f23b30e23b93d55dfa6f11e8eaa7f0f9dd492d93.zip |
Update.
2003-06-17 Jakub Jelinek <jakub@redhat.com>
* posix/regcomp.c (build_word_op): Use alnum instead of alpha class.
Diffstat (limited to 'linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h')
-rw-r--r-- | linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h b/linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h index 3fdec5d6dd..e84c98d82c 100644 --- a/linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h +++ b/linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h @@ -24,7 +24,7 @@ # include <linuxthreads/internals.h> #endif -#if !defined NOT_IN_libc || defined IS_IN_libpthread +#if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt # undef PSEUDO # define PSEUDO(name, syscall_name, args) \ @@ -108,8 +108,10 @@ #if !defined NOT_IN_libc # define __local_multiple_threads __libc_multiple_threads -#else +#elif defined IS_IN_libpthread # define __local_multiple_threads __pthread_multiple_threads +#else +# define __local_multiple_threads __librt_multiple_threads #endif # ifndef __ASSEMBLER__ @@ -118,7 +120,12 @@ __builtin_expect (THREAD_GETMEM (THREAD_SELF, \ p_header.data.multiple_threads) == 0, 1) # else -extern int __local_multiple_threads attribute_hidden; +extern int __local_multiple_threads +# if !defined NOT_IN_libc || defined IS_IN_libpthread + attribute_hidden; +# else + ; +# endif # define SINGLE_THREAD_P __builtin_expect (__local_multiple_threads == 0, 1) # endif # else @@ -127,16 +134,23 @@ extern int __local_multiple_threads attribute_hidden; # elif defined FLOATING_STACKS && USE___THREAD # define SINGLE_THREAD_P cmpl $0, %gs:MULTIPLE_THREADS_OFFSET # else +# if !defined NOT_IN_libc || defined IS_IN_libpthread +# define __SINGLE_THREAD_CMP cmpl $0, __local_multiple_threads@GOTOFF(%ecx) +# else +# define __SINGLE_THREAD_CMP \ + movl __local_multiple_threads@GOT(%ecx), %ecx;\ + cmpl $0, (%ecx) +# endif # if !defined HAVE_HIDDEN || !USE___THREAD # define SINGLE_THREAD_P \ SETUP_PIC_REG (cx); \ addl $_GLOBAL_OFFSET_TABLE_, %ecx; \ - cmpl $0, __local_multiple_threads@GOTOFF(%ecx) + __SINGLE_THREAD_CMP # else # define SINGLE_THREAD_P \ call __i686.get_pc_thunk.cx; \ addl $_GLOBAL_OFFSET_TABLE_, %ecx; \ - cmpl $0, __local_multiple_threads@GOTOFF(%ecx) + __SINGLE_THREAD_CMP # endif # endif # endif |