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