* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_mutex_lock):
	Add ax to clobber list.
	(lll_mutex_cond_lock): Likewise.
	(lll_mutex_unlock): Likewise.
	(lll_lock): Likewise.
	(lll_unlock): Likewise.
This commit is contained in:
Ulrich Drepper 2003-06-18 00:00:50 +00:00
parent f23b30e23b
commit 1d53508d2c
3 changed files with 15 additions and 7 deletions

View File

@ -1,5 +1,12 @@
2003-06-17 Ulrich Drepper <drepper@redhat.com> 2003-06-17 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_mutex_lock):
Add ax to clobber list.
(lll_mutex_cond_lock): Likewise.
(lll_mutex_unlock): Likewise.
(lll_lock): Likewise.
(lll_unlock): Likewise.
* Makefile: Add rules to build and run tst-cancel18 and tst-cancelx18. * Makefile: Add rules to build and run tst-cancel18 and tst-cancelx18.
* tst-cancel18.c: New file. * tst-cancel18.c: New file.
* tst-cancelx18.c: New file. * tst-cancelx18.c: New file.

View File

@ -364,6 +364,7 @@ CFLAGS-tst-cancelx14.c += -fexceptions
CFLAGS-tst-cancelx15.c += -fexceptions CFLAGS-tst-cancelx15.c += -fexceptions
CFLAGS-tst-cancelx16.c += -fexceptions CFLAGS-tst-cancelx16.c += -fexceptions
CFLAGS-tst-cancelx17.c += -fexceptions CFLAGS-tst-cancelx17.c += -fexceptions
CFLAGS-tst-cancelx18.c += -fexceptions
CFLAGS-tst-cleanupx0.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-tst-cleanupx0.c += -fexceptions -fasynchronous-unwind-tables
CFLAGS-tst-cleanupx1.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-tst-cleanupx1.c += -fexceptions -fasynchronous-unwind-tables
CFLAGS-tst-cleanupx2.c += -fexceptions CFLAGS-tst-cleanupx2.c += -fexceptions

View File

@ -100,7 +100,7 @@ extern int __lll_mutex_unlock_wait (int *__futex) attribute_hidden;
"2:" \ "2:" \
: "=S" (ignore1), "=&D" (ignore2), "=m" (futex) \ : "=S" (ignore1), "=&D" (ignore2), "=m" (futex) \
: "0" (1), "2" (futex) \ : "0" (1), "2" (futex) \
: "cx", "r11", "cc", "memory"); }) : "ax", "cx", "r11", "cc", "memory"); })
#define lll_mutex_cond_lock(futex) \ #define lll_mutex_cond_lock(futex) \
@ -118,7 +118,7 @@ extern int __lll_mutex_unlock_wait (int *__futex) attribute_hidden;
"2:" \ "2:" \
: "=S" (ignore1), "=&D" (ignore2), "=m" (futex) \ : "=S" (ignore1), "=&D" (ignore2), "=m" (futex) \
: "0" (2), "2" (futex) \ : "0" (2), "2" (futex) \
: "cx", "r11", "cc", "memory"); }) : "ax", "cx", "r11", "cc", "memory"); })
#define lll_mutex_timedlock(futex, timeout) \ #define lll_mutex_timedlock(futex, timeout) \
@ -156,7 +156,7 @@ extern int __lll_mutex_unlock_wait (int *__futex) attribute_hidden;
"2:" \ "2:" \
: "=m" (futex), "=&D" (ignore) \ : "=m" (futex), "=&D" (ignore) \
: "0" (futex) \ : "0" (futex) \
: "cx", "r11", "cc", "memory"); }) : "ax", "cx", "r11", "cc", "memory"); })
#define lll_mutex_islocked(futex) \ #define lll_mutex_islocked(futex) \
@ -209,7 +209,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
"2:" \ "2:" \
: "=S" (ignore1), "=&D" (ignore2), "=m" (futex) \ : "=S" (ignore1), "=&D" (ignore2), "=m" (futex) \
: "0" (-1), "2" (futex) \ : "0" (-1), "2" (futex) \
: "cx", "r11", "cc", "memory"); }) : "ax", "cx", "r11", "cc", "memory"); })
# define lll_unlock(futex) \ # define lll_unlock(futex) \
@ -226,7 +226,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
"2:" \ "2:" \
: "=m" (futex), "=&D" (ignore) \ : "=m" (futex), "=&D" (ignore) \
: "0" (futex) \ : "0" (futex) \
: "cx", "r11", "cc", "memory"); }) : "ax", "cx", "r11", "cc", "memory"); })
#else #else
/* Special versions of the macros for use in libc itself. They avoid /* Special versions of the macros for use in libc itself. They avoid
the lock prefix when the thread library is not used. the lock prefix when the thread library is not used.
@ -262,7 +262,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
"2:" \ "2:" \
: "=S" (ignore1), "=&D" (ignore2), "=m" (futex) \ : "=S" (ignore1), "=&D" (ignore2), "=m" (futex) \
: "0" (-1), "2" (futex) \ : "0" (-1), "2" (futex) \
: "cx", "r11", "cc", "memory"); }) : "ax", "cx", "r11", "cc", "memory"); })
# define lll_unlock(futex) \ # define lll_unlock(futex) \
@ -282,7 +282,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
"2:" \ "2:" \
: "=m" (futex), "=&D" (ignore) \ : "=m" (futex), "=&D" (ignore) \
: "0" (futex) \ : "0" (futex) \
: "cx", "r11", "cc", "memory"); }) : "ax", "cx", "r11", "cc", "memory"); })
#endif #endif