diff mbox

libgo patch committed: Align siginfo argument to waitid

Message ID CAOyqgcV-WLF6cOTsm4OwTgphcDaBKuTFiM5dAD4MvoxXwiszCQ@mail.gmail.com
State New
Headers show

Commit Message

Ian Lance Taylor June 23, 2017, 5:17 p.m. UTC
Backport a patch just committed to gc tip.  There is a bug report on
the golang-dev mailing list
(https://groups.google.com/d/msg/golang-dev/sDg-t1_DPw0/-AJmLxgPBQAJ)
in which waitid running on MIPS returns EFAULT, and this patch may fix
the problem.  Bootstrapped and ran Go tests on x86_64-pc-linux-gnu.
Committed to mainline and GCC 7 branch.

Ian
diff mbox

Patch

Index: gcc/go/gofrontend/MERGE
===================================================================
--- gcc/go/gofrontend/MERGE	(revision 249595)
+++ gcc/go/gofrontend/MERGE	(working copy)
@@ -1,4 +1,4 @@ 
-f107cc8bced1939b0083231fc1ea24669ca4832c
+c49ba1ca392b3c23a4b3934e0a95a908b1dc2f1d
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
Index: libgo/go/os/wait_waitid.go
===================================================================
--- libgo/go/os/wait_waitid.go	(revision 249205)
+++ libgo/go/os/wait_waitid.go	(working copy)
@@ -23,7 +23,7 @@  func (p *Process) blockUntilWaitable() (
 	// On Darwin, it requires greater than or equal to 64 bytes
 	// for darwin/{386,arm} and 104 bytes for darwin/amd64.
 	// We don't care about the values it returns.
-	var siginfo [128]byte
+	var siginfo [16]uint64
 	psig := &siginfo[0]
 	_, _, e := syscall.Syscall6(syscall.SYS_WAITID, _P_PID, uintptr(p.Pid), uintptr(unsafe.Pointer(psig)), syscall.WEXITED|syscall.WNOWAIT, 0, 0)
 	runtime.KeepAlive(p)