-sigh- Someone has got to stop this 'everything we can stuff into it' mentality 8/ Fedora's php builds using firebird firebird builds using libatomic_ops (old packages I know) Anyway,.. DEBUG: /usr/include/atomic_ops/sysdeps/gcc/sparc.h: In function 'AO_BYTE_TS_val AO_test_and_set_full(volatile unsigned char*)': DEBUG: /usr/include/atomic_ops/sysdeps/gcc/sparc.h:37: error: invalid conversion from 'int' to 'AO_BYTE_TS_val' The 'fix' here is to simply swap out 'int' for AO_BYTE_TS_val (literally a one liner against the libatomic_ops-1.2-8.gc.fc12.src.rpm package diff -up libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/sparc.h.orig gc-7.1/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/sparc.h --- libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/sparc.h.orig 2012-12-23 20:42:40.396855329 -0500 +++ libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/sparc.h 2012-12-23 20:44:14.070853341 -0500 @@ -29,7 +29,7 @@ AO_INLINE AO_TS_VAL_t AO_test_and_set_full(volatile AO_TS_t *addr) { - int oldval; + AO_TS_VAL_t oldval; __asm__ __volatile__("ldstub %1,%0" : "=r"(oldval), "=m"(*addr) Phil =--=
libatomic_ops is provided by the "gc" package, switching ... Phil, has the fix been already applied to upstream gc/libatomic_ops tree?
Argh, I missed that it had moved packagenames 8/ (koji can be a little too convenient to type in missing requires names sometimes 8/) I checked the gc package and it indeed has the one line change -sigh- sorry for the confusion on my part 8( AO_INLINE AO_TS_VAL_t AO_test_and_set_full(volatile AO_TS_t *addr) { AO_TS_VAL_t oldval; __asm__ __volatile__("ldstub %1,%0" : "=r"(oldval), "=m"(*addr) : "m"(*addr) : "memory"); return oldval; } .. Sorry for the alarm Phil =--=