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/s390 | |
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/s390')
-rw-r--r-- | linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h | 7 | ||||
-rw-r--r-- | linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h | 32 |
2 files changed, 31 insertions, 8 deletions
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h b/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h index 723f78c1dd..fb9348ba9b 100644 --- a/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h +++ b/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h @@ -23,7 +23,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) \ @@ -62,9 +62,12 @@ L(pseudo_end): # ifdef IS_IN_libpthread # define CENABLE __pthread_enable_asynccancel # define CDISABLE __pthread_disable_asynccancel -# else +# elif !defined NOT_IN_libc # define CENABLE __libc_enable_asynccancel # define CDISABLE __libc_disable_asynccancel +# else +# define CENABLE __librt_enable_asynccancel +# define CDISABLE __librt_disable_asynccancel # endif #define STM_0 /* Nothing */ diff --git a/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h b/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h index 4e54e550c2..e3c2a58f46 100644 --- a/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h +++ b/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h @@ -23,7 +23,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) \ @@ -58,10 +58,13 @@ L(pseudo_end): # define CENABLE __pthread_enable_asynccancel # define CDISABLE __pthread_disable_asynccancel # define __local_multiple_threads __pthread_multiple_threads -# else +# elif !defined NOT_IN_libc # define CENABLE __libc_enable_asynccancel # define CDISABLE __libc_disable_asynccancel # define __local_multiple_threads __libc_multiple_threads +# else +# define CENABLE __librt_enable_asynccancel +# define CDISABLE __librt_disable_asynccancel # endif #define STM_0 /* Nothing */ @@ -78,14 +81,31 @@ L(pseudo_end): #define LM_4 lmg %r2,%r5,16+160(%r15); #define LM_5 lmg %r2,%r5,16+160(%r15); -# ifndef __ASSEMBLER__ +# if !defined NOT_IN_libc || defined IS_IN_libpthread +# ifndef __ASSEMBLER__ extern int __local_multiple_threads attribute_hidden; -# define SINGLE_THREAD_P \ +# define SINGLE_THREAD_P \ __builtin_expect (__local_multiple_threads == 0, 1) -# else -# define SINGLE_THREAD_P \ +# else +# define SINGLE_THREAD_P \ larl %r1,__local_multiple_threads; \ icm %r0,15,0(%r1); +# endif + +# else + +# ifndef __ASSEMBLER__ +# define SINGLE_THREAD_P \ + __builtin_expect (THREAD_GETMEM (THREAD_SELF, \ + p_header.data.multiple_threads) == 0, 1) +# else +# define SINGLE_THREAD_P \ + ear %r1,%a0; \ + sllg %r1,%r1,32; \ + ear %r1,%a1; \ + icm %r1,15,MULTIPLE_THREADS_OFFSET(%r1); +# endif + # endif #elif !defined __ASSEMBLER__ |