Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Dec 2009 01:10:05 +0000 (UTC)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r200497 - stable/8/contrib/bind9/lib/isc/ia64/include/isc
Message-ID:  <200912140110.nBE1A5d3003328@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marcel
Date: Mon Dec 14 01:10:05 2009
New Revision: 200497
URL: http://svn.freebsd.org/changeset/base/200497

Log:
  MFC rev 200202:
  Fix Read-After-Write (RAW) dependency violation for ar.ccv in
  isc_atomic_xadd() and isc_atomic_cmpxchg().
  
  Approved by:	dougb@

Modified:
  stable/8/contrib/bind9/lib/isc/ia64/include/isc/atomic.h
Directory Properties:
  stable/8/contrib/bind9/   (props changed)

Modified: stable/8/contrib/bind9/lib/isc/ia64/include/isc/atomic.h
==============================================================================
--- stable/8/contrib/bind9/lib/isc/ia64/include/isc/atomic.h	Mon Dec 14 01:06:55 2009	(r200496)
+++ stable/8/contrib/bind9/lib/isc/ia64/include/isc/atomic.h	Mon Dec 14 01:10:05 2009	(r200497)
@@ -41,7 +41,7 @@ isc_atomic_xadd(isc_int32_t *p, isc_int3
 	for (prev = *(volatile isc_int32_t *)p; ; prev = swapped) {
 		swapped = prev + val;
 		__asm__ volatile(
-			"mov ar.ccv=%2;"
+			"mov ar.ccv=%2;;"
 			"cmpxchg4.acq %0=%4,%3,ar.ccv"
 			: "=r" (swapped), "=m" (*p)
 			: "r" (prev), "r" (swapped), "m" (*p)
@@ -84,7 +84,7 @@ isc_atomic_cmpxchg(isc_int32_t *p, isc_i
 	isc_int32_t ret;
 
 	__asm__ volatile(
-		"mov ar.ccv=%2;"
+		"mov ar.ccv=%2;;"
 		"cmpxchg4.acq %0=%4,%3,ar.ccv"
 		: "=r" (ret), "=m" (*p)
 		: "r" (cmpval), "r" (val), "m" (*p)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200912140110.nBE1A5d3003328>