diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-04-14 17:30:34 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-04-14 17:30:34 +0000 |
commit | bd4f43b462aadbe49bece8a7d6b62381ee90f690 (patch) | |
tree | e5ea730e440688410b87dea9eee7b92e71d6777f /nptl/sysdeps/i386 | |
parent | 18a8e730da98560330ba4dd3ead6f62f050c4ae7 (diff) | |
download | glibc-bd4f43b462aadbe49bece8a7d6b62381ee90f690.tar glibc-bd4f43b462aadbe49bece8a7d6b62381ee90f690.tar.gz glibc-bd4f43b462aadbe49bece8a7d6b62381ee90f690.tar.bz2 glibc-bd4f43b462aadbe49bece8a7d6b62381ee90f690.zip |
Update.
2003-04-14 Jakub Jelinek <jakub@redhat.com>
* sysdeps/i386/i486/bits/atomic.h: Rename LOCK to LOCK_PREFIX.
* sysdeps/x86_64/bits/atomic.h: Likewise.
2003-04-14 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/sysdep.h: Change PUSHARGS_1 and
POPARGS_1 to emit labels for the mov instructions.
2003-04-14 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (ret_NOERRNO): Define.
Diffstat (limited to 'nptl/sysdeps/i386')
-rw-r--r-- | nptl/sysdeps/i386/pthread_spin_lock.c | 15 | ||||
-rw-r--r-- | nptl/sysdeps/i386/tls.h | 10 |
2 files changed, 13 insertions, 12 deletions
diff --git a/nptl/sysdeps/i386/pthread_spin_lock.c b/nptl/sysdeps/i386/pthread_spin_lock.c index 43a1831131..f001fbacab 100644 --- a/nptl/sysdeps/i386/pthread_spin_lock.c +++ b/nptl/sysdeps/i386/pthread_spin_lock.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -19,11 +19,12 @@ #include "pthreadP.h" - -#ifdef UP -# define LOCK -#else -# define LOCK "lock;" +#ifndef LOCK_PREFIX +# ifdef UP +# define LOCK_PREFIX /* nothing */ +# else +# define LOCK_PREFIX "lock;" +# endif #endif @@ -32,7 +33,7 @@ pthread_spin_lock (lock) pthread_spinlock_t *lock; { asm ("\n" - "1:\t" LOCK "decl %0\n\t" + "1:\t" LOCK_PREFIX "decl %0\n\t" "jne 2f\n\t" ".subsection 1\n\t" ".align 16\n" diff --git a/nptl/sysdeps/i386/tls.h b/nptl/sysdeps/i386/tls.h index 4f2e8180d3..7ee2bcac19 100644 --- a/nptl/sysdeps/i386/tls.h +++ b/nptl/sysdeps/i386/tls.h @@ -169,11 +169,11 @@ union user_desc_init # define INIT_SYSINFO #endif -#ifndef LOCK +#ifndef LOCK_PREFIX # ifdef UP -# define LOCK /* nothing */ +# define LOCK_PREFIX /* nothing */ # else -# define LOCK "lock;" +# define LOCK_PREFIX "lock;" # endif #endif @@ -365,7 +365,7 @@ union user_desc_init ({ __typeof (descr->member) __ret; \ __typeof (oldval) __old = (oldval); \ if (sizeof (descr->member) == 4) \ - asm volatile (LOCK "cmpxchgl %2, %%gs:%P3" \ + asm volatile (LOCK_PREFIX "cmpxchgl %2, %%gs:%P3" \ : "=a" (__ret) \ : "0" (__old), "r" (newval), \ "i" (offsetof (struct pthread, member))); \ @@ -378,7 +378,7 @@ union user_desc_init /* Atomic set bit. */ #define THREAD_ATOMIC_BIT_SET(descr, member, bit) \ (void) ({ if (sizeof ((descr)->member) == 4) \ - asm volatile (LOCK "orl %1, %%gs:%P0" \ + asm volatile (LOCK_PREFIX "orl %1, %%gs:%P0" \ :: "i" (offsetof (struct pthread, member)), \ "ir" (1 << (bit))); \ else \ |