r244824 - in /trunk: gcc/go/gofrontend/MERGE gc...
ian@gcc.gnu.org
ian@gcc.gnu.org
Mon Jan 23 18:15:00 GMT 2017
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
More information about the Gcc-cvs
mailing list