aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Klauser <tklauser@distanz.ch>2018-02-13 17:07:54 +0100
committerAndrew Bonventre <andybons@golang.org>2018-03-29 06:08:12 +0000
commit24879947d5ad7fda983a098f651130b6bfaa750f (patch)
tree587bb3902b8d6cf24141ec4116f20f037da70170
parent1188eb9c5bc67fa7d8dc97f01905e9e364eeb793 (diff)
downloadgo-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.s6
-rw-r--r--src/runtime/sys_linux_mips64x.s6
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