runtime: align ucontext_t argument to 16 byte boundary
authorIan Lance Taylor <ian@gcc.gnu.org>
Fri, 9 Sep 2016 13:31:49 +0000 (13:31 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Fri, 9 Sep 2016 13:31:49 +0000 (13:31 +0000)
commit6f02c138136e54ec525d81e604427782cacec378
treed4fd6aada5043cfd7bff984cbe0d0a5ef059bfde
parent0abcd6cc738c5afd131c232ddb6809e6ff8e8def
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

From-SVN: r240044
gcc/go/gofrontend/MERGE
libgo/go/runtime/runtime2.go
libgo/runtime/proc.c