diff options
| author | Hector Chu <hectorchu@gmail.com> | 2010-01-06 17:58:55 -0800 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2010-01-06 17:58:55 -0800 |
| commit | 6bfe5f55f4dc110ca43a202a6a5eb70ee477916b (patch) | |
| tree | 3ef0b1e03a660d7e220471a0ae9485cc16756632 /src/pkg/runtime/linux | |
| parent | 5c07e0c17ce6a0627a2fe4bbc4254b322ec879ce (diff) | |
| download | go-6bfe5f55f4dc110ca43a202a6a5eb70ee477916b.tar.xz | |
Ported runtime to Windows.
R=rsc
CC=golang-dev
https://golang.org/cl/176066
Diffstat (limited to 'src/pkg/runtime/linux')
| -rw-r--r-- | src/pkg/runtime/linux/386/sys.s | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/pkg/runtime/linux/386/sys.s b/src/pkg/runtime/linux/386/sys.s index 72882cb9dc..f734a68338 100644 --- a/src/pkg/runtime/linux/386/sys.s +++ b/src/pkg/runtime/linux/386/sys.s @@ -40,9 +40,10 @@ TEXT rt_sigaction(SB),7,$0 RET TEXT sigtramp(SB),7,$0 - MOVL m, BP + get_tls(CX) + MOVL m(CX), BP MOVL m_gsignal(BP), AX - MOVL AX, g + MOVL AX, g(CX) JMP sighandler(SB) TEXT sigignore(SB),7,$0 @@ -50,9 +51,10 @@ TEXT sigignore(SB),7,$0 TEXT sigreturn(SB),7,$0 // g = m->curg - MOVL m, BP + get_tls(CX) + MOVL m(CX), BP MOVL m_curg(BP), BP - MOVL BP, g + MOVL BP, g(CX) MOVL $173, AX // rt_sigreturn INT $0x80 INT $3 // not reached @@ -149,8 +151,9 @@ TEXT clone(SB),7,$0 MOVW DI, GS // Now segment is established. Initialize m, g. - MOVL DX, g - MOVL BX, m + get_tls(AX) + MOVL DX, g(AX) + MOVL BX, m(AX) CALL stackcheck(SB) // smashes AX MOVL 0(DX), DX // paranoia; check they are not nil |
