--- 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 */
--- 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