From cf195437c66bc81481f395b4d006bcf95b3e346a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Hentschel?= Date: Fri, 18 Jan 2013 18:05:42 +0100 Subject: [PATCH] include: Make sure interlocked_cmpxchg128 is defined on ARM64. --- include/wine/port.h | 2 +- libs/port/interlocked.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/wine/port.h b/include/wine/port.h index bd6f5134053..d6904c0f685 100644 --- a/include/wine/port.h +++ b/include/wine/port.h @@ -435,7 +435,7 @@ extern __int64 interlocked_cmpxchg64( __int64 *dest, __int64 xchg, __int64 compa extern int interlocked_xchg( int *dest, int val ); extern void *interlocked_xchg_ptr( void **dest, void *val ); extern int interlocked_xchg_add( int *dest, int incr ); -#ifdef _WIN64 +#if defined(__x86_64__) || defined(__aarch64__) || defined(_WIN64) extern unsigned char interlocked_cmpxchg128( __int64 *dest, __int64 xchg_high, __int64 xchg_low, __int64 *compare ); #endif diff --git a/libs/port/interlocked.c b/libs/port/interlocked.c index 576714a5f1c..f5e405c961a 100644 --- a/libs/port/interlocked.c +++ b/libs/port/interlocked.c @@ -343,9 +343,9 @@ int interlocked_xchg_add( int *dest, int incr ) return retv; } -int interlocked_cmpxchg128( __int64 *dest, __int64 xchg_high, __int64 xchg_low, __int64 *compare ) +unsigned char interlocked_cmpxchg128( __int64 *dest, __int64 xchg_high, __int64 xchg_low, __int64 *compare ) { - int retv; + unsigned char retv; pthread_mutex_lock( &interlocked_mutex ); if (dest[0] == compare[0] && dest[1] == compare[1]) {