From 1d53508d2c614ca42e93b26e4fd3d2560e92e6e1 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 18 Jun 2003 00:00:50 +0000 Subject: [PATCH] Update. * 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. --- nptl/ChangeLog | 7 +++++++ nptl/Makefile | 1 + nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h | 14 +++++++------- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 9a4670d3bd..b2af00f1cd 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,5 +1,12 @@ 2003-06-17 Ulrich Drepper + * 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. * tst-cancel18.c: New file. * tst-cancelx18.c: New file. diff --git a/nptl/Makefile b/nptl/Makefile index fab063dbcb..349f3ac312 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -364,6 +364,7 @@ CFLAGS-tst-cancelx14.c += -fexceptions CFLAGS-tst-cancelx15.c += -fexceptions CFLAGS-tst-cancelx16.c += -fexceptions CFLAGS-tst-cancelx17.c += -fexceptions +CFLAGS-tst-cancelx18.c += -fexceptions CFLAGS-tst-cleanupx0.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-tst-cleanupx1.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-tst-cleanupx2.c += -fexceptions diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h index 4dfbf4bb45..1f1e7dd1a9 100644 --- a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h +++ b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h @@ -100,7 +100,7 @@ extern int __lll_mutex_unlock_wait (int *__futex) attribute_hidden; "2:" \ : "=S" (ignore1), "=&D" (ignore2), "=m" (futex) \ : "0" (1), "2" (futex) \ - : "cx", "r11", "cc", "memory"); }) + : "ax", "cx", "r11", "cc", "memory"); }) #define lll_mutex_cond_lock(futex) \ @@ -118,7 +118,7 @@ extern int __lll_mutex_unlock_wait (int *__futex) attribute_hidden; "2:" \ : "=S" (ignore1), "=&D" (ignore2), "=m" (futex) \ : "0" (2), "2" (futex) \ - : "cx", "r11", "cc", "memory"); }) + : "ax", "cx", "r11", "cc", "memory"); }) #define lll_mutex_timedlock(futex, timeout) \ @@ -156,7 +156,7 @@ extern int __lll_mutex_unlock_wait (int *__futex) attribute_hidden; "2:" \ : "=m" (futex), "=&D" (ignore) \ : "0" (futex) \ - : "cx", "r11", "cc", "memory"); }) + : "ax", "cx", "r11", "cc", "memory"); }) #define lll_mutex_islocked(futex) \ @@ -209,7 +209,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden; "2:" \ : "=S" (ignore1), "=&D" (ignore2), "=m" (futex) \ : "0" (-1), "2" (futex) \ - : "cx", "r11", "cc", "memory"); }) + : "ax", "cx", "r11", "cc", "memory"); }) # define lll_unlock(futex) \ @@ -226,7 +226,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden; "2:" \ : "=m" (futex), "=&D" (ignore) \ : "0" (futex) \ - : "cx", "r11", "cc", "memory"); }) + : "ax", "cx", "r11", "cc", "memory"); }) #else /* Special versions of the macros for use in libc itself. They avoid 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:" \ : "=S" (ignore1), "=&D" (ignore2), "=m" (futex) \ : "0" (-1), "2" (futex) \ - : "cx", "r11", "cc", "memory"); }) + : "ax", "cx", "r11", "cc", "memory"); }) # define lll_unlock(futex) \ @@ -282,7 +282,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden; "2:" \ : "=m" (futex), "=&D" (ignore) \ : "0" (futex) \ - : "cx", "r11", "cc", "memory"); }) + : "ax", "cx", "r11", "cc", "memory"); }) #endif