]> Cypherpunks repositories - gostls13.git/commit
cmd/6l, cmd/8l: emit no-ops to separate zero-stack funcs from nosplits.
authorRémy Oudompheng <oudomphe@phare.normalesup.org>
Mon, 26 Nov 2012 20:51:48 +0000 (21:51 +0100)
committerRémy Oudompheng <oudomphe@phare.normalesup.org>
Mon, 26 Nov 2012 20:51:48 +0000 (21:51 +0100)
commit2e73453acabd5827383ae97cdcafff814ce09a64
tree7c87c3ea3ce7050c7d24c83462b086ad1ca1d29a
parentd7b0271065b043487c98e42617ff2ab53cfbdbed
cmd/6l, cmd/8l: emit no-ops to separate zero-stack funcs from nosplits.

The stack overflow checker in the linker uses the spadj field
to determine whether stack space will be large enough or not.
When spadj=0, the checker treats the function as a nosplit
and emits an error although the program is correct.

Also enable the stack checker in 8l.

Fixes #4316.

R=rsc, golang-dev
CC=golang-dev
https://golang.org/cl/6855088
src/cmd/6l/pass.c
src/cmd/8l/obj.c
src/cmd/8l/pass.c
test/fixedbugs/issue4316.go [new file with mode: 0644]