diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-09-20 08:10:41 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-09-20 08:10:41 +0000 |
commit | 56a4aa9886dc1145f8feac66b66216a44cb092c1 (patch) | |
tree | d7d801c6161be3c4614941995313f70f45b47bb0 /nptl | |
parent | 8f31c0eff575bb20505c16635bebee530af533d7 (diff) | |
download | glibc-56a4aa9886dc1145f8feac66b66216a44cb092c1.tar.gz glibc-56a4aa9886dc1145f8feac66b66216a44cb092c1.tar.xz glibc-56a4aa9886dc1145f8feac66b66216a44cb092c1.zip |
Update.
* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Don't match memory in parameters of asm with output parameters.
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/ChangeLog | 3 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h | 22 |
2 files changed, 14 insertions, 11 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 7671777f27..dd83161bbb 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,5 +1,8 @@ 2003-09-20 Ulrich Drepper <drepper@redhat.com> + * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Don't match memory + in parameters of asm with output parameters. + * pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt): Change type of DECR parameter to int. * pthreadP.h: Adjust prototype of __pthread_mutex_unlock_usercnt. diff --git a/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h index cf88c54a59..ebda2f8420 100644 --- a/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h +++ b/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h @@ -105,7 +105,7 @@ extern int __lll_mutex_unlock_wait (int *__futex) ({ unsigned char ret; \ __asm __volatile (LOCK_INSTR "cmpxchgl %2, %1; setne %0" \ : "=a" (ret), "=m" (futex) \ - : "r" (1), "1" (futex), "0" (0) \ + : "r" (1), "m" (futex), "0" (0) \ : "memory"); \ ret; }) @@ -125,7 +125,7 @@ extern int __lll_mutex_unlock_wait (int *__futex) ".previous\n" \ "1:" \ : "=a" (ignore1), "=&c" (ignore2), "=m" (futex) \ - : "0" (1), "2" (futex) \ + : "0" (1), "m" (futex) \ : "memory"); }) @@ -146,7 +146,7 @@ extern int __lll_mutex_unlock_wait (int *__futex) ".previous\n" \ "1:" \ : "=a" (ignore1), "=&c" (ignore2), "=m" (futex) \ - : "0" (2), "2" (futex) \ + : "0" (2), "m" (futex) \ : "memory"); }) @@ -167,7 +167,7 @@ extern int __lll_mutex_unlock_wait (int *__futex) "1:" \ : "=a" (result), "=&c" (ignore1), "=&d" (ignore2), \ "=m" (futex) \ - : "0" (1), "3" (futex), "m" (timeout) \ + : "0" (1), "m" (futex), "m" (timeout) \ : "memory"); \ result; }) @@ -186,7 +186,7 @@ extern int __lll_mutex_unlock_wait (int *__futex) ".previous\n" \ "1:" \ : "=m" (futex), "=&a" (ignore) \ - : "0" (futex) \ + : "m" (futex) \ : "memory"); }) @@ -223,7 +223,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden; ({ unsigned char ret; \ __asm __volatile (LOCK_INSTR "cmpxchgl %2, %1; setne %0" \ : "=a" (ret), "=m" (futex) \ - : "r" (0), "1" (futex), "0" (1) \ + : "r" (0), "m" (futex), "0" (1) \ : "memory"); \ ret; }) @@ -242,7 +242,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden; ".previous\n" \ "1:" \ : "=a" (ignore1), "=&c" (ignore2), "=m" (futex) \ - : "0" (-1), "2" (futex) \ + : "0" (-1), "m" (futex) \ : "memory"); }) @@ -260,7 +260,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden; ".previous\n" \ "1:" \ : "=m" (futex), "=&a" (ignore) \ - : "0" (futex) \ + : "m" (futex) \ : "memory"); }) #else /* Special versions of the macros for use in libc itself. They avoid @@ -276,7 +276,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden; "lock\n" \ "0:\tcmpxchgl %2, %1; setne %0" \ : "=a" (ret), "=m" (futex) \ - : "r" (0), "1" (futex), "0" (1), \ + : "r" (0), "m" (futex), "0" (1), \ "i" (offsetof (tcbhead_t, multiple_threads)) \ : "memory"); \ ret; }) @@ -299,7 +299,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden; ".previous\n" \ "2:" \ : "=a" (ignore1), "=&c" (ignore2), "=m" (futex) \ - : "0" (-1), "2" (futex), \ + : "0" (-1), "m" (futex), \ "i" (offsetof (tcbhead_t, multiple_threads)) \ : "memory"); }) @@ -321,7 +321,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden; ".previous\n" \ "2:" \ : "=m" (futex), "=&a" (ignore) \ - : "0" (futex), \ + : "m" (futex), \ "i" (offsetof (tcbhead_t, multiple_threads)) \ : "memory"); }) #endif |