Package: gauche Version: 0.9.4-6 Tags: patch Since gauche uses an old embedded copy of (libgc and) libatomic-ops, it fails to build on the hppa/parisc platform.
The attached trivial patch (which affects hppa only!) fixes it. (Same patch has been applied to upstream libatomic-ops already). Can you please apply the patch to the next upload? Thanks, Helge
diff -up ./gauche-0.9.4/gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/hppa.h.org ./gauche-0.9.4/gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/hppa.h --- ./gauche-0.9.4/gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/hppa.h.org 2015-12-26 16:50:56.140000000 +0100 +++ ./gauche-0.9.4/gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/hppa.h 2015-12-26 16:50:59.588000000 +0100 @@ -20,6 +20,18 @@ * SOFTWARE. */ + +#define AO_GCC_VERSION_AT_LEAST(x,y) (__GNUC__ > x || __GNUC__ == x && __GNUC_MINOR__ >= y) + +#if defined(__GNUC__) && AO_GCC_VERSION_AT_LEAST(4,9) + +#include "../test_and_set_t_is_ao_t.h" +/* We do not want to enable the atomic add/sub functions yet - they are slow */ +#define AO_PREFER_GENERALIZED +#include "generic.h" + +#else + #include "../all_atomic_load_store.h" /* Some architecture set descriptions include special "ordered" memory */ @@ -87,3 +99,6 @@ AO_pa_clear(volatile AO_TS_t * addr) *a = 1; } #define AO_CLEAR(addr) AO_pa_clear(addr) + +#endif /* __GNUC__ >= 4.9 */ +