On Tue, Nov 05, 2019 at 05:17:10PM +0000, Wilco Dijkstra wrote: > Passes bootstrap and regress on AArch64 and x64. OK for commit?
This broke bootstrap on x86_64-linux as well as i686-linux (guess all targets that go supports). The following patch fixes it for me, though not sure which *.c file is best and what location in there for the definition. With this bootstrap succeeded on both x86_64-linux and i686-linux, regtest is still pending, but without it it just failed to link libgo. --- libgo/runtime/runtime.h.jj 2019-09-06 23:00:17.755294355 +0200 +++ libgo/runtime/runtime.h 2019-11-21 00:32:51.146992951 +0100 @@ -475,7 +475,7 @@ bool scanstackwithmap(void*) bool doscanstack(G*, void*) __asm__("runtime.doscanstack"); -bool runtime_usestackmaps; +extern bool runtime_usestackmaps; bool probestackmaps(void) __asm__("runtime.probestackmaps"); --- libgo/runtime/proc.c.jj 2019-08-31 13:26:29.646735239 +0200 +++ libgo/runtime/proc.c 2019-11-21 00:34:23.509610234 +0100 @@ -676,6 +676,8 @@ makeGContext(G* gp, byte* sp, uintptr sp __go_makecontext(uc, kickoff, sp, (size_t)spsize); } +bool runtime_usestackmaps; + // The goroutine g is about to enter a system call. // Record that it's not using the cpu anymore. // This is called only from the go syscall library and cgocall, Jakub