diff options
| author | Russ Cox <rsc@golang.org> | 2010-11-04 14:00:19 -0400 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2010-11-04 14:00:19 -0400 |
| commit | 68b4255a9644a838898bfc6567bae97585c2e871 (patch) | |
| tree | 6ba0f08e7aa2c5e8c3f883aeab0b79ae8efd4859 /src/pkg/runtime/linux/amd64/sys.s | |
| parent | 3b6ddd9bceb1e3c56f6cbfc28d51481a3036c653 (diff) | |
| download | go-68b4255a9644a838898bfc6567bae97585c2e871.tar.xz | |
runtime: ,s/[a-zA-Z0-9_]+/runtime·&/g, almost
Prefix all external symbols in runtime by runtime·,
to avoid conflicts with possible symbols of the same
name in linked-in C libraries. The obvious conflicts
are printf, malloc, and free, but hide everything to
avoid future pain.
The symbols left alone are:
** known to cgo **
_cgo_free
_cgo_malloc
libcgo_thread_start
initcgo
ncgocall
** known to linker **
_rt0_$GOARCH
_rt0_$GOARCH_$GOOS
text
etext
data
end
pclntab
epclntab
symtab
esymtab
** known to C compiler **
_divv
_modv
_div64by32
etc (arch specific)
Tested on darwin/386, darwin/amd64, linux/386, linux/amd64.
Built (but not tested) for freebsd/386, freebsd/amd64, linux/arm, windows/386.
R=r, PeterGo
CC=golang-dev
https://golang.org/cl/2899041
Diffstat (limited to 'src/pkg/runtime/linux/amd64/sys.s')
| -rw-r--r-- | src/pkg/runtime/linux/amd64/sys.s | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/src/pkg/runtime/linux/amd64/sys.s b/src/pkg/runtime/linux/amd64/sys.s index 73db9d7596..170b659fc8 100644 --- a/src/pkg/runtime/linux/amd64/sys.s +++ b/src/pkg/runtime/linux/amd64/sys.s @@ -8,19 +8,19 @@ #include "amd64/asm.h" -TEXT exit(SB),7,$0-8 +TEXT runtime·exit(SB),7,$0-8 MOVL 8(SP), DI MOVL $231, AX // exitgroup - force all os threads to exit SYSCALL RET -TEXT exit1(SB),7,$0-8 +TEXT runtime·exit1(SB),7,$0-8 MOVL 8(SP), DI MOVL $60, AX // exit - exit the current os thread SYSCALL RET -TEXT open(SB),7,$0-16 +TEXT runtime·open(SB),7,$0-16 MOVQ 8(SP), DI MOVL 16(SP), SI MOVL 20(SP), DX @@ -28,7 +28,7 @@ TEXT open(SB),7,$0-16 SYSCALL RET -TEXT write(SB),7,$0-24 +TEXT runtime·write(SB),7,$0-24 MOVL 8(SP), DI MOVQ 16(SP), SI MOVL 24(SP), DX @@ -36,7 +36,7 @@ TEXT write(SB),7,$0-24 SYSCALL RET -TEXT gettime(SB), 7, $32 +TEXT runtime·gettime(SB), 7, $32 LEAQ 8(SP), DI MOVQ $0, SI MOVQ $0xffffffffff600000, AX @@ -51,7 +51,7 @@ TEXT gettime(SB), 7, $32 MOVL BX, (DI) RET -TEXT rt_sigaction(SB),7,$0-32 +TEXT runtime·rt_sigaction(SB),7,$0-32 MOVL 8(SP), DI MOVQ 16(SP), SI MOVQ 24(SP), DX @@ -60,7 +60,7 @@ TEXT rt_sigaction(SB),7,$0-32 SYSCALL RET -TEXT sigtramp(SB),7,$64 +TEXT runtime·sigtramp(SB),7,$64 get_tls(BX) // save g @@ -75,7 +75,7 @@ TEXT sigtramp(SB),7,$64 MOVQ DI, 0(SP) MOVQ SI, 8(SP) MOVQ DX, 16(SP) - CALL sighandler(SB) + CALL runtime·sighandler(SB) // restore g get_tls(BX) @@ -83,15 +83,15 @@ TEXT sigtramp(SB),7,$64 MOVQ BP, g(BX) RET -TEXT sigignore(SB),7,$0 +TEXT runtime·sigignore(SB),7,$0 RET -TEXT sigreturn(SB),7,$0 +TEXT runtime·sigreturn(SB),7,$0 MOVL $15, AX // rt_sigreturn SYSCALL INT $3 // not reached -TEXT ·mmap(SB),7,$0 +TEXT runtime·mmap(SB),7,$0 MOVQ 8(SP), DI MOVQ $0, SI MOVQ 16(SP), SI @@ -108,24 +108,24 @@ TEXT ·mmap(SB),7,$0 INCQ AX RET -TEXT ·munmap(SB),7,$0 +TEXT runtime·munmap(SB),7,$0 MOVQ 8(SP), DI MOVQ 16(SP), SI MOVQ $11, AX // munmap SYSCALL CMPQ AX, $0xfffffffffffff001 JLS 2(PC) - CALL notok(SB) + CALL runtime·notok(SB) RET -TEXT notok(SB),7,$0 +TEXT runtime·notok(SB),7,$0 MOVQ $0xf1, BP MOVQ BP, (BP) RET // int64 futex(int32 *uaddr, int32 op, int32 val, // struct timespec *timeout, int32 *uaddr2, int32 val2); -TEXT futex(SB),7,$0 +TEXT runtime·futex(SB),7,$0 MOVQ 8(SP), DI MOVL 16(SP), SI MOVL 20(SP), DX @@ -137,7 +137,7 @@ TEXT futex(SB),7,$0 RET // int64 clone(int32 flags, void *stack, M *m, G *g, void (*fn)(void)); -TEXT clone(SB),7,$0 +TEXT runtime·clone(SB),7,$0 MOVL flags+8(SP), DI MOVQ stack+16(SP), SI @@ -165,13 +165,13 @@ TEXT clone(SB),7,$0 // Set FS to point at m->tls. LEAQ m_tls(R8), DI - CALL settls(SB) + CALL runtime·settls(SB) // In child, set up new stack get_tls(CX) MOVQ R8, m(CX) MOVQ R9, g(CX) - CALL stackcheck(SB) + CALL runtime·stackcheck(SB) // Call fn CALL R12 @@ -182,18 +182,18 @@ TEXT clone(SB),7,$0 SYSCALL JMP -3(PC) // keep exiting -TEXT sigaltstack(SB),7,$-8 +TEXT runtime·sigaltstack(SB),7,$-8 MOVQ new+8(SP), DI MOVQ old+16(SP), SI MOVQ $131, AX SYSCALL CMPQ AX, $0xfffffffffffff001 JLS 2(PC) - CALL notok(SB) + CALL runtime·notok(SB) RET // set tls base to DI -TEXT settls(SB),7,$32 +TEXT runtime·settls(SB),7,$32 ADDQ $16, DI // ELF wants to use -16(FS), -8(FS) MOVQ DI, SI @@ -202,6 +202,6 @@ TEXT settls(SB),7,$32 SYSCALL CMPQ AX, $0xfffffffffffff001 JLS 2(PC) - CALL notok(SB) + CALL runtime·notok(SB) RET |
