So go will need to be taught to use MAP_STACK when allocating stacks. Yes, this change is disruptive.
That's the whole point. > On Thu, Jan 11, 2018 at 08:39:25PM -0700, Theo de Raadt wrote: > > I'm asking for some feedback to discover what ports this breaks, we'd > > The go package immediately core dumps. > > Signature: go-1.9.2,1,c.92.2,pthread.25.1 > > root@ot6:.../~# go > Abort trap (core dumped) > > Core was generated by `go'. > Program terminated with signal SIGABRT, Aborted. > #0 runtime.nanotime () at /usr/local/go/src/runtime/sys_openbsd_amd64.s:202 > 202 MOVQ 8(SP), AX // sec > [Current thread is 1 (process 613988)] > Loading Go Runtime support. > (gdb) bt > #0 runtime.nanotime () at /usr/local/go/src/runtime/sys_openbsd_amd64.s:202 > #1 0x00000000004553cc in runtime.init () > at /usr/local/go/src/runtime/time.go:318 > #2 0x000000000042c388 in runtime.main () > at /usr/local/go/src/runtime/proc.go:144 > #3 0x0000000000458481 in runtime.goexit () > at /usr/local/go/src/runtime/asm_amd64.s:2337 > #4 0x0000000000000000 in ?? () > > rax 0x1 1 > rbx 0xae1a00 11409920 > rcx 0x4595e1 4560353 > rdx 0xc420000260 842350461536 > rsi 0xc420026738 842350618424 > rdi 0x3 3 > rbp 0xc420026748 0xc420026748 > rsp 0xc420026730 0xc420026730 > r8 0x215695050 8949157968 > r9 0x25497b048 10009161800 > r10 0x0 0 > r11 0x206 518 > r12 0x0 0 > r13 0xf1 241 > r14 0x11 17 > r15 0x0 0 > rip 0x4595e1 0x4595e1 <runtime.nanotime+33> > eflags 0x207 [ CF PF IF ] > cs 0x2b 43 > ss 0x23 35 > ds 0x23 35 > es 0x23 35 > fs 0x23 35 > gs 0x23 35 > > bluhm
