diff options
author | Ulrich Drepper <drepper@redhat.com> | 2006-02-08 15:33:47 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2006-02-08 15:33:47 +0000 |
commit | b576fca12abea4bb0b5af097ce4dd3ff7717d821 (patch) | |
tree | 9b673267d59f68b61f032a84c5a2a31cb2147521 /nptl | |
parent | becac6c5b1104415cd76ea02ec01a4c55fb15e55 (diff) | |
download | glibc-b576fca12abea4bb0b5af097ce4dd3ff7717d821.tar.gz glibc-b576fca12abea4bb0b5af097ce4dd3ff7717d821.tar.xz glibc-b576fca12abea4bb0b5af097ce4dd3ff7717d821.zip |
* sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_futex_wait,
lll_futex_timedwait, lll_wait_tid): Add "memory" clobber.
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/ChangeLog | 5 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h | 9 |
2 files changed, 11 insertions, 3 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 54e7ff46a6..bb8e60707e 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,8 @@ +2006-02-08 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_futex_wait, + lll_futex_timedwait, lll_wait_tid): Add "memory" clobber. + 2006-01-20 Kaz Kojima <kkojima@rr.iij4u.or.jp> * sysdeps/unix/sysv/linux/sh/lowlevellock.h (lll_futex_wait): diff --git a/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h index fd1ee4569d..b233d9747f 100644 --- a/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h +++ b/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h @@ -75,7 +75,8 @@ : "=a" (__status) \ : "0" (SYS_futex), LLL_EBX_REG (futex), "S" (0), \ "c" (FUTEX_WAIT), "d" (_val), \ - "i" (offsetof (tcbhead_t, sysinfo))); \ + "i" (offsetof (tcbhead_t, sysinfo)) \ + : "memory"); \ __status; \ }) @@ -90,7 +91,8 @@ : "=a" (__status) \ : "0" (SYS_futex), LLL_EBX_REG (futex), "S" (timeout), \ "c" (FUTEX_WAIT), "d" (_val), \ - "i" (offsetof (tcbhead_t, sysinfo))); \ + "i" (offsetof (tcbhead_t, sysinfo)) \ + : "memory"); \ __status; \ }) @@ -346,7 +348,8 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden; : "=&a" (__ignore) \ : "i" (SYS_futex), LLL_EBX_REG (&tid), "S" (0), \ "c" (FUTEX_WAIT), "d" (_tid), \ - "i" (offsetof (tcbhead_t, sysinfo))); \ + "i" (offsetof (tcbhead_t, sysinfo)) \ + : "memory"); \ } while (0) extern int __lll_timedwait_tid (int *tid, const struct timespec *abstime) |