about summary refs log tree commit diff
path: root/nptl/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-04-01 01:24:00 +0000
committerUlrich Drepper <drepper@redhat.com>2003-04-01 01:24:00 +0000
commit211d90c524db8fcc32a134eaf80d969eff8c3862 (patch)
tree167181f1688e516846554fa6468efbc01a915de8 /nptl/sysdeps
parent42b2395dcee5be5a4c2eb0faba8e78f682ab68ad (diff)
downloadglibc-211d90c524db8fcc32a134eaf80d969eff8c3862.tar.gz
glibc-211d90c524db8fcc32a134eaf80d969eff8c3862.tar.xz
glibc-211d90c524db8fcc32a134eaf80d969eff8c3862.zip
Update.
	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h (__lll_mutex_lock):
	Use atomic_exchange_and_add instead of __lll_add.
	(__lll_mutex_timedlock): Likewise.
	Patch by Ian Wienand.

2003-03-24  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
	(SINGLE_THREAD_P): Fix typo.
	* tst-cancel-wrappers.sh: Handle '.'ed symbols.

2003-03-31  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-align.
	* tst-align.c: New file.
	* sysdeps/i386/Makefile: Define CFLAGS-tst-align.
	* sysdeps/x86_64/Makefile: Likewise.

	* tst-tsd2.c: Add casts to avoid warnings.
Diffstat (limited to 'nptl/sysdeps')
-rw-r--r--nptl/sysdeps/i386/Makefile4
-rw-r--r--nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h4
-rw-r--r--nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h2
-rw-r--r--nptl/sysdeps/x86_64/Makefile4
4 files changed, 11 insertions, 3 deletions
diff --git a/nptl/sysdeps/i386/Makefile b/nptl/sysdeps/i386/Makefile
index 24990a2b7e..a18c1bc8f1 100644
--- a/nptl/sysdeps/i386/Makefile
+++ b/nptl/sysdeps/i386/Makefile
@@ -19,3 +19,7 @@
 ifeq ($(subdir),csu)
 gen-as-const-headers += tcb-offsets.sym
 endif
+
+ifeq ($(subdir),nptl)
+CFLAGS-tst-align.c += -malign-double
+endif
diff --git a/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h
index 8fa96ed6a2..24cbfe8cc3 100644
--- a/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h
+++ b/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h
@@ -103,7 +103,7 @@ static inline void
 __attribute__ ((always_inline))
 __lll_mutex_lock (int *futex)
 {
-  int val = __lll_add (futex, 1);
+  int val = atomic_exchange_and_add (futex, 1);
 
   if (__builtin_expect (val != 0, 0))
     __lll_lock_wait (futex, val);
@@ -119,7 +119,7 @@ static inline int
 __attribute__ ((always_inline))
 __lll_mutex_timedlock (int *futex, const struct timespec *abstime)
 {
-  int val = __lll_add (futex, 1);
+  int val = atomic_exchange_and_add (futex, 1);
   int result = 0;
 
   if (__builtin_expect (val != 0, 0))
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
index 7c9147e3cc..5483586c7b 100644
--- a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
+++ b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
@@ -91,7 +91,7 @@
 # else
 #   define SINGLE_THREAD_P						\
   lwz   10,MULTIPLE_THREADS_OFFSET(13);				\
-  cmpdi 10,0
+  cmpwi 10,0
 # endif
 
 #elif !defined __ASSEMBLER__
diff --git a/nptl/sysdeps/x86_64/Makefile b/nptl/sysdeps/x86_64/Makefile
index 24990a2b7e..a18c1bc8f1 100644
--- a/nptl/sysdeps/x86_64/Makefile
+++ b/nptl/sysdeps/x86_64/Makefile
@@ -19,3 +19,7 @@
 ifeq ($(subdir),csu)
 gen-as-const-headers += tcb-offsets.sym
 endif
+
+ifeq ($(subdir),nptl)
+CFLAGS-tst-align.c += -malign-double
+endif