r240044 - in /trunk: gcc/go/gofrontend/MERGE li...

ian@gcc.gnu.org ian@gcc.gnu.org
Fri Sep 9 13:31:00 GMT 2016


Author: ian
Date: Fri Sep  9 13:31:49 2016
New Revision: 240044

URL: https://gcc.gnu.org/viewcvs?rev=240044&root=gcc&view=rev
Log:
    runtime: align ucontext_t argument to 16 byte boundary
    
    Some systems, such as ia64 and PPC, require that a ucontext_t pointer
    passed to getcontext and friends be aligned to a 16-byte boundary.
    Currently the ucontext_t fields in the g structure are defined in Go,
    and Go has no way to ensure a 16-byte alignment for a struct field.
    The fields are currently represented by an array of unsafe.Pointer.
    Enforce the alignment by making the array larger, and picking an offset
    into the array that is 16-byte aligned.
    
    Reviewed-on: https://go-review.googlesource.com/28910

Modified:
    trunk/gcc/go/gofrontend/MERGE
    trunk/libgo/go/runtime/runtime2.go
    trunk/libgo/runtime/proc.c



More information about the Gcc-cvs mailing list