diff options
author | Tobias Klauser <tklauser@distanz.ch> | 2018-02-13 17:07:54 +0100 |
---|---|---|
committer | Andrew Bonventre <andybons@golang.org> | 2018-03-29 06:08:12 +0000 |
commit | 24879947d5ad7fda983a098f651130b6bfaa750f (patch) | |
tree | 587bb3902b8d6cf24141ec4116f20f037da70170 | |
parent | 1188eb9c5bc67fa7d8dc97f01905e9e364eeb793 (diff) | |
download | go-24879947d5ad7fda983a098f651130b6bfaa750f.tar.gz go-24879947d5ad7fda983a098f651130b6bfaa750f.zip |
[release-branch.go1.10] runtime: add symbol for AT_FDCWD on Linux amd64 and mips64x
Also order the syscall number list by numerically for mips64x.
Follow-up for CL 92895.
Change-Id: I5f01f8c626132a06160997fce8a2aef0c486bb1c
Reviewed-on: https://go-review.googlesource.com/93616
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-on: https://go-review.googlesource.com/103035
Run-TryBot: Andrew Bonventre <andybons@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
-rw-r--r-- | src/runtime/sys_linux_amd64.s | 6 | ||||
-rw-r--r-- | src/runtime/sys_linux_mips64x.s | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/src/runtime/sys_linux_amd64.s b/src/runtime/sys_linux_amd64.s index 017e7dcaef..576a91a85c 100644 --- a/src/runtime/sys_linux_amd64.s +++ b/src/runtime/sys_linux_amd64.s @@ -10,6 +10,8 @@ #include "go_tls.h" #include "textflag.h" +#define AT_FDCWD -100 + #define SYS_read 0 #define SYS_write 1 #define SYS_close 3 @@ -66,7 +68,7 @@ TEXT runtime·exitThread(SB),NOSPLIT,$0-8 TEXT runtime·open(SB),NOSPLIT,$0-20 // This uses openat instead of open, because Android O blocks open. - MOVL $-100, DI // AT_FDCWD, so this acts like open + MOVL $AT_FDCWD, DI // AT_FDCWD, so this acts like open MOVQ name+0(FP), SI MOVL mode+8(FP), DX MOVL perm+12(FP), R10 @@ -601,7 +603,7 @@ TEXT runtime·settls(SB),NOSPLIT,$32 // Same as in sys_darwin_386.s:/ugliness, different constant. // DI currently holds m->tls, which must be fs:0x1d0. // See cgo/gcc_android_amd64.c for the derivation of the constant. - SUBQ $0x1d0, DI // In android, the tls base + SUBQ $0x1d0, DI // In android, the tls base #else ADDQ $8, DI // ELF wants to use -8(FS) #endif diff --git a/src/runtime/sys_linux_mips64x.s b/src/runtime/sys_linux_mips64x.s index 2cb365074e..be0f2ca1e6 100644 --- a/src/runtime/sys_linux_mips64x.s +++ b/src/runtime/sys_linux_mips64x.s @@ -13,10 +13,11 @@ #include "go_tls.h" #include "textflag.h" +#define AT_FDCWD -100 + #define SYS_exit 5058 #define SYS_read 5000 #define SYS_write 5001 -#define SYS_openat 5247 #define SYS_close 5003 #define SYS_getpid 5038 #define SYS_kill 5060 @@ -42,6 +43,7 @@ #define SYS_exit_group 5205 #define SYS_epoll_create 5207 #define SYS_epoll_ctl 5208 +#define SYS_openat 5247 #define SYS_epoll_pwait 5272 #define SYS_clock_gettime 5222 #define SYS_epoll_create1 5285 @@ -68,7 +70,7 @@ TEXT runtime·exitThread(SB),NOSPLIT,$-8-8 TEXT runtime·open(SB),NOSPLIT|NOFRAME,$0-20 // This uses openat instead of open, because Android O blocks open. - MOVW $-100, R4 // AT_FDCWD, so this acts like open + MOVW $AT_FDCWD, R4 // AT_FDCWD, so this acts like open MOVV name+0(FP), R5 MOVW mode+8(FP), R6 MOVW perm+12(FP), R7 |