diff options
| author | Michael Pratt <mpratt@google.com> | 2022-09-30 18:43:25 +0000 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2022-09-30 19:07:13 +0000 |
| commit | 4a49af5755564b5412acea2cfc3ac8556a7af453 (patch) | |
| tree | 077534fca793c024d854b3bee936c9d332da92cd /src/runtime/sys_linux_amd64.s | |
| parent | 4e6f963469d8f489586b2bf277af30e0fbfa1679 (diff) | |
| download | go-4a49af5755564b5412acea2cfc3ac8556a7af453.tar.xz | |
Revert "runtime: move epoll syscalls to runtime/internal/syscall"
This reverts CL 421994.
Reason for revert: breaks runtime.TestCheckPtr2
For #53824
For #51087
Change-Id: I044ea4d6efdffe0a4b7fb0d2bb3717d9f391fc59
Reviewed-on: https://go-review.googlesource.com/c/go/+/437295
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Michael Pratt <mpratt@google.com>
Auto-Submit: Michael Pratt <mpratt@google.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
Diffstat (limited to 'src/runtime/sys_linux_amd64.s')
| -rw-r--r-- | src/runtime/sys_linux_amd64.s | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/runtime/sys_linux_amd64.s b/src/runtime/sys_linux_amd64.s index d91f9bd31f..ca6ecb13eb 100644 --- a/src/runtime/sys_linux_amd64.s +++ b/src/runtime/sys_linux_amd64.s @@ -33,19 +33,24 @@ #define SYS_clone 56 #define SYS_exit 60 #define SYS_kill 62 +#define SYS_fcntl 72 #define SYS_sigaltstack 131 #define SYS_arch_prctl 158 #define SYS_gettid 186 #define SYS_futex 202 #define SYS_sched_getaffinity 204 +#define SYS_epoll_create 213 #define SYS_timer_create 222 #define SYS_timer_settime 223 #define SYS_timer_delete 226 #define SYS_clock_gettime 228 #define SYS_exit_group 231 +#define SYS_epoll_ctl 233 #define SYS_tgkill 234 #define SYS_openat 257 #define SYS_faccessat 269 +#define SYS_epoll_pwait 281 +#define SYS_epoll_create1 291 #define SYS_pipe2 293 TEXT runtime·exit(SB),NOSPLIT,$0-4 @@ -661,6 +666,55 @@ TEXT runtime·sched_getaffinity(SB),NOSPLIT,$0 MOVL AX, ret+24(FP) RET +// int32 runtime·epollcreate(int32 size); +TEXT runtime·epollcreate(SB),NOSPLIT,$0 + MOVL size+0(FP), DI + MOVL $SYS_epoll_create, AX + SYSCALL + MOVL AX, ret+8(FP) + RET + +// int32 runtime·epollcreate1(int32 flags); +TEXT runtime·epollcreate1(SB),NOSPLIT,$0 + MOVL flags+0(FP), DI + MOVL $SYS_epoll_create1, AX + SYSCALL + MOVL AX, ret+8(FP) + RET + +// func epollctl(epfd, op, fd int32, ev *epollEvent) int +TEXT runtime·epollctl(SB),NOSPLIT,$0 + MOVL epfd+0(FP), DI + MOVL op+4(FP), SI + MOVL fd+8(FP), DX + MOVQ ev+16(FP), R10 + MOVL $SYS_epoll_ctl, AX + SYSCALL + MOVL AX, ret+24(FP) + RET + +// int32 runtime·epollwait(int32 epfd, EpollEvent *ev, int32 nev, int32 timeout); +TEXT runtime·epollwait(SB),NOSPLIT,$0 + // This uses pwait instead of wait, because Android O blocks wait. + MOVL epfd+0(FP), DI + MOVQ ev+8(FP), SI + MOVL nev+16(FP), DX + MOVL timeout+20(FP), R10 + MOVQ $0, R8 + MOVL $SYS_epoll_pwait, AX + SYSCALL + MOVL AX, ret+24(FP) + RET + +// void runtime·closeonexec(int32 fd); +TEXT runtime·closeonexec(SB),NOSPLIT,$0 + MOVL fd+0(FP), DI // fd + MOVQ $2, SI // F_SETFD + MOVQ $1, DX // FD_CLOEXEC + MOVL $SYS_fcntl, AX + SYSCALL + RET + // int access(const char *name, int mode) TEXT runtime·access(SB),NOSPLIT,$0 // This uses faccessat instead of access, because Android O blocks access. |
