about summary refs log tree commit diff
path: root/nptl
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2006-10-11 09:01:52 +0000
committerUlrich Drepper <drepper@redhat.com>2006-10-11 09:01:52 +0000
commit8099361ecd23167ddbb8585a375cbacbcffb64c4 (patch)
tree09ec44fc8e4facd3a8dec55c77450d368ccefff4 /nptl
parent2a6ee54934756720c5e93a4f09e85929c49596dc (diff)
downloadglibc-8099361ecd23167ddbb8585a375cbacbcffb64c4.tar.gz
glibc-8099361ecd23167ddbb8585a375cbacbcffb64c4.tar.xz
glibc-8099361ecd23167ddbb8585a375cbacbcffb64c4.zip
* include/atomic.c: Define catomic_* operations.
	* sysdeps/x86_64/bits/atomic.h: Likewise.  Fix a few minor problems.
	* stdlib/cxa_finalize.c: Use catomic_* operations instead of atomic_*.
	* malloc/memusage.c: Likewise.
	* gmon/mcount.c: Likewise.
	* elf/dl-close.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-profile.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-fptr.c: Likewise.
	* resolv/res_libc.c: Likewise.
Diffstat (limited to 'nptl')
-rw-r--r--nptl/ChangeLog5
-rw-r--r--nptl/sysdeps/unix/sysv/linux/rtld-lowlevel.h18
2 files changed, 14 insertions, 9 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index dacdafee79..a8bd0fd45a 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,8 @@
+2006-10-11  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/rtld-lowlevel.h: Use catomic_*
+	operations instead of atomic_*.
+
 2006-10-09  Ulrich Drepper  <drepper@redhat.com>
 
 	* sysdeps/unix/sysv/linux/rtld-lowlevel.h: New file..
diff --git a/nptl/sysdeps/unix/sysv/linux/rtld-lowlevel.h b/nptl/sysdeps/unix/sysv/linux/rtld-lowlevel.h
index 908731440a..b16fd2165d 100644
--- a/nptl/sysdeps/unix/sysv/linux/rtld-lowlevel.h
+++ b/nptl/sysdeps/unix/sysv/linux/rtld-lowlevel.h
@@ -62,9 +62,9 @@ typedef int __rtld_mrlock_t;
 	      {								      \
 		int newval = ((oldval & __RTLD_MRLOCK_RBITS)		      \
 			      + __RTLD_MRLOCK_INC);			      \
-		int ret = atomic_compare_and_exchange_val_acq (&(lock),	      \
-							       newval,	      \
-							       oldval);	      \
+		int ret = catomic_compare_and_exchange_val_acq (&(lock),      \
+								newval,	      \
+								oldval);      \
 		if (__builtin_expect (ret == oldval, 1))		      \
 		  goto out;						      \
 	      }								      \
@@ -72,7 +72,7 @@ typedef int __rtld_mrlock_t;
 	  }								      \
 	if ((oldval & __RTLD_MRLOCK_RWAIT) == 0)			      \
 	  {								      \
-	    atomic_or (&(lock), __RTLD_MRLOCK_RWAIT);			      \
+	    catomic_or (&(lock), __RTLD_MRLOCK_RWAIT);			      \
 	    oldval |= __RTLD_MRLOCK_RWAIT;				      \
 	  }								      \
 	lll_futex_wait (lock, oldval);					      \
@@ -83,10 +83,10 @@ typedef int __rtld_mrlock_t;
 
 #define __rtld_mrlock_unlock(lock) \
   do {									      \
-    int oldval = atomic_exchange_and_add (&(lock), -__RTLD_MRLOCK_INC);	      \
+    int oldval = catomic_exchange_and_add (&(lock), -__RTLD_MRLOCK_INC);      \
     if (__builtin_expect ((oldval					      \
 			   & (__RTLD_MRLOCK_RBITS | __RTLD_MRLOCK_WWAIT))     \
-			  == __RTLD_MRLOCK_INC | __RTLD_MRLOCK_WWAIT, 0))     \
+			  == (__RTLD_MRLOCK_INC | __RTLD_MRLOCK_WWAIT), 0))   \
       /* We have to wake all threads since there might be some queued	      \
 	 readers already.  */						      \
       lll_futex_wake (&(lock), 0x7fffffff);				      \
@@ -107,7 +107,7 @@ typedef int __rtld_mrlock_t;
 	      {								      \
 		int newval = ((oldval & __RTLD_MRLOCK_RWAIT)		      \
 			      + __RTLD_MRLOCK_WRITER);			      \
-		int ret = atomic_compare_and_exchange_val_acq (&(lock),	      \
+		int ret = catomic_compare_and_exchange_val_acq (&(lock),      \
 							       newval,	      \
 							       oldval);	      \
 		if (__builtin_expect (ret == oldval, 1))		      \
@@ -115,7 +115,7 @@ typedef int __rtld_mrlock_t;
 	      }								      \
 	    atomic_delay ();						      \
 	  }								      \
-	atomic_or (&(lock), __RTLD_MRLOCK_WWAIT);			      \
+	catomic_or (&(lock), __RTLD_MRLOCK_WWAIT);			      \
 	oldval |= __RTLD_MRLOCK_WWAIT;					      \
 	lll_futex_wait (lock, oldval);					      \
       }									      \
@@ -125,7 +125,7 @@ typedef int __rtld_mrlock_t;
 
 #define __rtld_mrlock_done(lock) \
   do {				 \
-    int oldval = atomic_exchange_and_add (&(lock), -__RTLD_MRLOCK_WRITER);    \
+    int oldval = catomic_exchange_and_add (&(lock), -__RTLD_MRLOCK_WRITER);   \
     if (__builtin_expect ((oldval & __RTLD_MRLOCK_RWAIT) != 0, 0))	      \
       lll_futex_wake (&(lock), 0x7fffffff);				      \
   } while (0)