On Wed, Oct 12, 2016 at 7:28 AM, Ian Lance Taylor <i...@golang.org> wrote: > This patch to libgo by James Clarke fixes libgo for sparc64. The > getrandom syscall was being ignored because the file was named > "sparc". The clone syscall apparently needs special attention on > SPARC. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. > Committed to mainline.
And a followup: mark the new rawClone function as no_split_stack. Bootstrapped and tested on x86_64-pc-linux-gnu, committed to mainline. Ian
Index: gcc/go/gofrontend/MERGE =================================================================== --- gcc/go/gofrontend/MERGE (revision 241067) +++ gcc/go/gofrontend/MERGE (working copy) @@ -1,4 +1,4 @@ -7e4543d050339e113e6278fd442d940c0f1a5670 +c18d9f0e7270144ebd1f67d85995f434bbdab0b0 The first line of this file holds the git revision number of the last merge done from the gofrontend repository. Index: libgo/go/syscall/clone_linux.c =================================================================== --- libgo/go/syscall/clone_linux.c (revision 241051) +++ libgo/go/syscall/clone_linux.c (working copy) @@ -10,7 +10,10 @@ #include "runtime.h" -long rawClone (unsigned long flags, void *child_stack, void *ptid, void *ctid, struct pt_regs *regs) __asm__ (GOSYM_PREFIX "syscall.rawClone"); +long rawClone (unsigned long flags, void *child_stack, void *ptid, + void *ctid, struct pt_regs *regs) + __asm__ (GOSYM_PREFIX "syscall.rawClone") + __attribute__ ((no_split_stack)); long rawClone (unsigned long flags, void *child_stack, void *ptid, void *ctid, struct pt_regs *regs)