Hello! > All of this has been posted before. > > I believe the ABI change is something we should have for gcc 5. > > Yes, the libffi merge has been causing problems (on targets that > don't even support libgo, annoyingly), but missing support for > the new libffi interfaces is easier to remedy in a dot release > than the change from __thread variable to static chain register > for implementing closures.
+#ifndef FFI_TARGET_HAS_COMPLEX_TYPE +/* If libffi hasn't been updated for this target to support complex, + pretend complex is a structure. Warning: This does not work for + all ABIs. Eventually libffi should be updated for all targets + and this should go away. */ + +static ffi_type *go_complex_to_ffi (ffi_type *) + __attribute__ ((no_split_stack, unused)); No need for unused attribute, go_complex_to_ffi is always used when FFI_TARGET_HAS_COMPLEX_TYPE is defined. You should also revert alpha specific change to libgo/go/testing/quick/quick_test.go, please see [1] and [2]. [1] https://gcc.gnu.org/ml/gcc-patches/2013-03/msg00038.html [2] https://gcc.gnu.org/ml/gcc-patches/2013-03/msg00038/foo.patch Uros.