Switch from __sync_val_compare_and_swap() to
__sync_bool_compare_and_swap() since that's we need nowadays anyhow
and since that's also provided by ecc v7.0.

(Logical change 1.138)
diff --git a/include/internal.h b/include/internal.h
index ac5b0bf..488d7d5 100644
--- a/include/internal.h
+++ b/include/internal.h
@@ -132,19 +132,9 @@
 #else
 # ifdef HAVE_IA64INTRIN_H
 #  include <ia64intrin.h>
-  /*
-   * ecc v7.0 is broken: it's missing __sync_val_compare_and_swap()
-   * even though the ia64 ABI requires it.  Work around it:
-   */
-#  ifndef __sync_val_compare_and_swap
-#   define __sync_val_compare_and_swap(x,y,z)				\
-	_InterlockedCompareExchange64_rel(x,y,z)
-#  endif
-
 #  define cmpxchg_ptr(_ptr,_o,_n)					\
-	((void *) __sync_val_compare_and_swap((volatile long *) (_ptr),	\
-					      (long) (_o), (long) (_n))	\
-	 == (_o))
+	(__sync_bool_compare_and_swap((volatile long *) (_ptr),		\
+				      (long) (_o), (long) (_n)))
 #  define fetch_and_add1(_ptr)		__sync_fetch_and_add(_ptr, 1)
 #  define HAVE_CMPXCHG
 #  define HAVE_FETCH_AND_ADD1