This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Ltt-dev] [PATCH 10/10] local_t : x86_64 : local_add_return


local_add_return should also deal with the removed volatile from local_t.

Inspired from atomic_t modifications : it must use the local_t both as input and
output.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>


--- a/include/asm-x86_64/local.h
+++ b/include/asm-x86_64/local.h
@@ -136,8 +136,8 @@ static __inline__ long local_add_return(
 	long __i = i;
 	__asm__ __volatile__(
 		"xaddq %0, %1;"
-		:"=r"(i)
-		:"m"(l->a.counter), "0"(i));
+		:"+r" (i), "+m" (l->a.counter)
+		: : "memory");
 	return i + __i;
 }
 
-- 
OpenPGP public key:              http://krystal.dyndns.org:8080/key/compudj.gpg
Key fingerprint:     8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]