https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79037
--- Comment #12 from ian at gcc dot gnu.org <ian at gcc dot gnu.org> --- Author: ian Date: Mon Jan 23 18:15:22 2017 New Revision: 244824 URL: https://gcc.gnu.org/viewcvs?rev=244824&root=gcc&view=rev Log: PR go/79037 compiler, runtime: align gc data for m68k The current GC requires that the gc data be aligned to at least a 4 byte boundary, because it uses the lower two bits of the address for flags (see LOOP and PRECISE in runtime/mgc0.c). As the gc data is stored as a [...]uintptr, that is normally always true. However, on m68k, that only guarantees 2 byte alignment. Fix it by forcing the alignment. The parfor code used by the current GC requires that the parfor data be aligned to at least an 8 byte boundary. The code in parfor.c verifies this. This is normally true, as the data uses uint64_t values, but, again, this must be enforced explicitly on m68k. Fixes GCC PR 79037. Reviewed-on: https://go-review.googlesource.com/35478 Modified: trunk/gcc/go/gofrontend/MERGE trunk/gcc/go/gofrontend/types.cc trunk/libgo/runtime/go-unsafe-pointer.c trunk/libgo/runtime/parfor.c trunk/libgo/runtime/runtime.h