]> Cypherpunks repositories - gostls13.git/commit
runtime: fix nacl build
authorRuss Cox <rsc@golang.org>
Thu, 28 Aug 2014 02:50:08 +0000 (22:50 -0400)
committerRuss Cox <rsc@golang.org>
Thu, 28 Aug 2014 02:50:08 +0000 (22:50 -0400)
commitf9b9ecc5ee1b3ea8212ee801e719fb748dedc20e
tree4ea3af1cd70706e78a75b8c74b1ea499385ef938
parent433d64373241634af93ca35f229c1cb26caf9180
runtime: fix nacl build

The NaCl "system calls" were assumed to have a compatible
return convention with the C compiler, and we were using
tail jumps to those functions. Don't do that anymore.

Correct mistake introduced in newstackcall duringconversion
from (SP) to (FP) notation. (Actually this fix, in asm_amd64p32.s,
slipped into the C compiler change, but update the name to
match what go vet wants.)

Correct computation of caller stack pointer in morestack:
on amd64p32, the saved PC is the size of a uintreg, not uintptr.
This may not matter, since it's been like this for a while,
but uintreg is the correct one. (And on non-NaCl they are the same.)

This will allow the NaCl build to get much farther.
It will probably still not work completely.
There's a bug in 6l that needs fixing too.

TBR=minux
CC=golang-codereviews
https://golang.org/cl/134990043
src/pkg/runtime/asm_amd64p32.s
src/pkg/runtime/os_nacl.go
src/pkg/runtime/stack.c
src/pkg/runtime/sys_nacl_386.s
src/pkg/runtime/sys_nacl_amd64p32.s
src/pkg/runtime/sys_nacl_arm.s