1
2006-06-01 Arnaud Charlet <charlet@adacore.com>
3
* configure: work around libtool bug on ia64 hpux
4
See http://bugzilla.gnome.org/show_bug.cgi?id=343485
6
2006-03-14 Arnaud Charlet <charlet@adacore.com>
8
* glib/gatomic.c: work around GCC 3.4 limitation on ia64 platforms
10
--- glib/gatomic.c.orig 2005-12-17 07:20:50.000000000 -0500
11
+++ glib/gatomic.c 2006-03-14 03:09:49.415176530 -0500
12
@@ -410,6 +410,14 @@ g_atomic_pointer_compare_and_exchange (v
13
# elif defined (G_ATOMIC_IA64)
14
/* Adapted from CVS version 1.8 of glibc's sysdeps/ia64/bits/atomic.h
17
+extern int __sync_fetch_and_add_si (int *, int);
18
+extern long __sync_fetch_and_add_di (long *, long);
19
+#define __sync_fetch_and_add(PTR,VAL) \
20
+ ((sizeof (*(PTR)) == sizeof(int)) \
21
+ ? (__typeof__(*(PTR))) __sync_fetch_and_add_si((int *)(PTR),(int)(VAL)) \
22
+ : (__typeof__(*(PTR))) __sync_fetch_and_add_di((long *)(PTR),(long)(VAL)))
25
g_atomic_int_exchange_and_add (volatile gint *atomic,
27
@@ -424,6 +432,13 @@ g_atomic_int_add (volatile gint *atomic,
28
__sync_fetch_and_add (atomic, val);
31
+extern int __sync_bool_compare_and_swap_si (int *, int, int);
32
+extern int __sync_bool_compare_and_swap_di (long *, long, long);
33
+#define __sync_bool_compare_and_swap(PTR, OLD, NEW) \
34
+ ((sizeof (*(PTR)) == sizeof(int)) \
35
+ ? __sync_bool_compare_and_swap_si((int *)(PTR),(int)(OLD),(int)(NEW)) \
36
+ : __sync_bool_compare_and_swap_di((long *)(PTR),(long)(OLD),(long)(NEW)))
39
g_atomic_int_compare_and_exchange (volatile gint *atomic,
41
*** configure.old Fri May 26 08:34:27 2006
42
--- configure Thu Jun 1 05:09:42 2006
48
! hardcode_libdir_flag_spec_ld='+b $libdir'
50
hardcode_shlibpath_var=no
56
! hardcode_libdir_flag_spec_ld='${wl}+b ${wl}$libdir'
58
hardcode_shlibpath_var=no