# HG changeset patch # User William Roberts # Date 1279038766 -3600 # Node ID a16d1cd191f688fb7c868a5a278711d8b0d44735 # Parent 4393da0c39b5ab3eb58dfc1e94d4a3b386a0122a Revised fix for "impossible constraint in asm" - Bug 2971 diff -r 4393da0c39b5 -r a16d1cd191f6 glib/build/symbian/inc/config.h --- a/glib/build/symbian/inc/config.h Tue Jun 22 22:03:38 2010 +0100 +++ b/glib/build/symbian/inc/config.h Tue Jul 13 17:32:46 2010 +0100 @@ -69,10 +69,14 @@ /* #undef G_ATOMIC_ALPHA */ /* arm atomic implementation */ -/* #undef G_ATOMIC_ARM */ +#ifdef __MARM__ +#define G_ATOMIC_ARM 1 +#endif /* i486 atomic implementation */ +#ifdef __X86__ #define G_ATOMIC_I486 1 +#endif /* ia64 atomic implementation */ /* #undef G_ATOMIC_IA64 */ diff -r 4393da0c39b5 -r a16d1cd191f6 glib/glib/gatomic.c --- a/glib/glib/gatomic.c Tue Jun 22 22:03:38 2010 +0100 +++ b/glib/glib/gatomic.c Tue Jul 13 17:32:46 2010 +0100 @@ -40,44 +40,7 @@ #if defined (__GNUC__) -#define GCC_VERSION (__GNUC__ * 10000 \ - + __GNUC_MINOR__ * 100 \ - + __GNUC_PATCHLEVEL__) - -/* Test for GCC > 4.4.0 */ -# if (GCC_VERSION > 40400) - -EXPORT_C gint -g_atomic_int_exchange_and_add (volatile gint *atomic, - gint val) -{ - return __sync_fetch_and_add(atomic, val); -} - -EXPORT_C void -g_atomic_int_add (volatile gint *atomic, - gint val) -{ - __sync_fetch_and_add(atomic, val); -} - -EXPORT_C gboolean -g_atomic_int_compare_and_exchange (volatile gint *atomic, - gint oldval, - gint newval) -{ - return __sync_val_compare_and_swap(atomic, oldval, newval); -} - -EXPORT_C gboolean -g_atomic_pointer_compare_and_exchange (volatile gpointer *atomic, - gpointer oldval, - gpointer newval) -{ - return __sync_val_compare_and_swap(atomic, oldval, newval); -} - -#elif defined (G_ATOMIC_I486) +# if defined (G_ATOMIC_I486) /* Adapted from CVS version 1.10 of glibc's sysdeps/i386/i486/bits/atomic.h */ EXPORT_C gint