On Wed, Oct 12, 2016 at 10:43 AM, Ian Lance Taylor <i...@golang.org> wrote: > 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.
This breaks the build on Ubuntu 1604 on aarch64-linux-gnu: ../../../gcc/libgo/go/syscall/clone_linux.c:14:28: warning: ‘struct pt_regs’ declared inside parameter list will not be visible outside of this definition or declaration void *ctid, struct pt_regs *regs) ^~~~~~~ ../../../gcc/libgo/go/syscall/clone_linux.c:19:82: warning: ‘struct pt_regs’ declared inside parameter list will not be visible outside of this definition or declaration rawClone (unsigned long flags, void *child_stack, void *ptid, void *ctid, struct pt_regs *regs) ^~~~~~~ ../../../gcc/libgo/go/syscall/clone_linux.c:19:1: error: conflicting types for ‘rawClone’ rawClone (unsigned long flags, void *child_stack, void *ptid, void *ctid, struct pt_regs *regs) ^~~~~~~~ ../../../gcc/libgo/go/syscall/clone_linux.c:13:6: note: previous declaration of ‘rawClone’ was here long rawClone (unsigned long flags, void *child_stack, void *ptid, ^~~~~~~~ Thanks, Andrew > > Ian