diff options
| author | Rob Pike <r@golang.org> | 2015-02-17 18:30:27 -0800 |
|---|---|---|
| committer | Rob Pike <r@golang.org> | 2015-02-18 03:41:29 +0000 |
| commit | 345350bf07f1b584bde03b7031c15511b1801d25 (patch) | |
| tree | 8e86adefbabd8177269e0001e77df99ee1d1493e /src/runtime/sys_linux_arm.s | |
| parent | c7fa3c625ee0dd09d8ce88b060ffd883ac50582b (diff) | |
| download | go-345350bf07f1b584bde03b7031c15511b1801d25.tar.xz | |
[dev.cc] cmd/asm: make 4(SP) illegal except on 386
Require a name to be specified when referencing the pseudo-stack.
If you want a real stack offset, use the hardware stack pointer (e.g.,
R13 on arm), not SP.
Fix affected assembly files.
Change-Id: If3545f187a43cdda4acc892000038ec25901132a
Reviewed-on: https://go-review.googlesource.com/5120
Run-TryBot: Rob Pike <r@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
Reviewed-by: Dave Cheney <dave@cheney.net>
Diffstat (limited to 'src/runtime/sys_linux_arm.s')
| -rw-r--r-- | src/runtime/sys_linux_arm.s | 142 |
1 files changed, 71 insertions, 71 deletions
diff --git a/src/runtime/sys_linux_arm.s b/src/runtime/sys_linux_arm.s index b0a9b4fc7d..11d20b8dce 100644 --- a/src/runtime/sys_linux_arm.s +++ b/src/runtime/sys_linux_arm.s @@ -52,49 +52,49 @@ #define ARM_BASE (SYS_BASE + 0x0f0000) TEXT runtime·open(SB),NOSPLIT,$0 - MOVW 0(FP), R0 - MOVW 4(FP), R1 - MOVW 8(FP), R2 + MOVW name+0(FP), R0 + MOVW flag+4(FP), R1 + MOVW mode+8(FP), R2 MOVW $SYS_open, R7 SWI $0 MOVW R0, ret+12(FP) RET TEXT runtime·close(SB),NOSPLIT,$0 - MOVW 0(FP), R0 + MOVW fd+0(FP), R0 MOVW $SYS_close, R7 SWI $0 MOVW R0, ret+4(FP) RET TEXT runtime·write(SB),NOSPLIT,$0 - MOVW 0(FP), R0 - MOVW 4(FP), R1 - MOVW 8(FP), R2 + MOVW fd+0(FP), R0 + MOVW buf+4(FP), R1 + MOVW n+8(FP), R2 MOVW $SYS_write, R7 SWI $0 MOVW R0, ret+12(FP) RET TEXT runtime·read(SB),NOSPLIT,$0 - MOVW 0(FP), R0 - MOVW 4(FP), R1 - MOVW 8(FP), R2 + MOVW fd+0(FP), R0 + MOVW buf+4(FP), R1 + MOVW n+8(FP), R2 MOVW $SYS_read, R7 SWI $0 MOVW R0, ret+12(FP) RET TEXT runtime·getrlimit(SB),NOSPLIT,$0 - MOVW 0(FP), R0 - MOVW 4(FP), R1 + MOVW res+0(FP), R0 + MOVW rlp+4(FP), R1 MOVW $SYS_ugetrlimit, R7 SWI $0 MOVW R0, ret+8(FP) RET TEXT runtime·exit(SB),NOSPLIT,$-4 - MOVW 0(FP), R0 + MOVW code+0(FP), R0 MOVW $SYS_exit_group, R7 SWI $0 MOVW $1234, R0 @@ -102,7 +102,7 @@ TEXT runtime·exit(SB),NOSPLIT,$-4 MOVW R0, (R1) // fail hard TEXT runtime·exit1(SB),NOSPLIT,$-4 - MOVW 0(FP), R0 + MOVW code+0(FP), R0 MOVW $SYS_exit, R7 SWI $0 MOVW $1234, R0 @@ -128,12 +128,12 @@ TEXT runtime·raiseproc(SB),NOSPLIT,$-4 RET TEXT runtime·mmap(SB),NOSPLIT,$0 - MOVW 0(FP), R0 - MOVW 4(FP), R1 - MOVW 8(FP), R2 - MOVW 12(FP), R3 - MOVW 16(FP), R4 - MOVW 20(FP), R5 + MOVW addr+0(FP), R0 + MOVW len+4(FP), R1 + MOVW prot+8(FP), R2 + MOVW flags+12(FP), R3 + MOVW fd+16(FP), R4 + MOVW off+20(FP), R5 MOVW $SYS_mmap2, R7 SWI $0 MOVW $0xfffff001, R6 @@ -143,8 +143,8 @@ TEXT runtime·mmap(SB),NOSPLIT,$0 RET TEXT runtime·munmap(SB),NOSPLIT,$0 - MOVW 0(FP), R0 - MOVW 4(FP), R1 + MOVW addr+0(FP), R0 + MOVW len+4(FP), R1 MOVW $SYS_munmap, R7 SWI $0 MOVW $0xfffff001, R6 @@ -154,26 +154,26 @@ TEXT runtime·munmap(SB),NOSPLIT,$0 RET TEXT runtime·madvise(SB),NOSPLIT,$0 - MOVW 0(FP), R0 - MOVW 4(FP), R1 - MOVW 8(FP), R2 + MOVW addr+0(FP), R0 + MOVW len+4(FP), R1 + MOVW advice+8(FP), R2 MOVW $SYS_madvise, R7 SWI $0 // ignore failure - maybe pages are locked RET TEXT runtime·setitimer(SB),NOSPLIT,$0 - MOVW 0(FP), R0 - MOVW 4(FP), R1 - MOVW 8(FP), R2 + MOVW which+0(FP), R0 + MOVW value+4(FP), R1 + MOVW ovalue+8(FP), R2 MOVW $SYS_setitimer, R7 SWI $0 RET TEXT runtime·mincore(SB),NOSPLIT,$0 - MOVW 0(FP), R0 - MOVW 4(FP), R1 - MOVW 8(FP), R2 + MOVW addr+0(FP), R0 + MOVW len+4(FP), R1 + MOVW vec+8(FP), R2 MOVW $SYS_mincore, R7 SWI $0 MOVW R0, ret+12(FP) @@ -188,10 +188,10 @@ TEXT time·now(SB), NOSPLIT, $32 MOVW 8(R13), R0 // sec MOVW 12(R13), R2 // nsec - MOVW R0, 0(FP) + MOVW R0, sec+0(FP) MOVW $0, R1 - MOVW R1, 4(FP) - MOVW R2, 8(FP) + MOVW R1, loc+4(FP) + MOVW R2, nsec+8(FP) RET // int64 nanotime(void) @@ -217,12 +217,12 @@ TEXT runtime·nanotime(SB),NOSPLIT,$32 // int32 futex(int32 *uaddr, int32 op, int32 val, // struct timespec *timeout, int32 *uaddr2, int32 val2); TEXT runtime·futex(SB),NOSPLIT,$0 - MOVW 4(SP), R0 - MOVW 8(SP), R1 - MOVW 12(SP), R2 - MOVW 16(SP), R3 - MOVW 20(SP), R4 - MOVW 24(SP), R5 + MOVW 4(R13), R0 + MOVW 8(R13), R1 + MOVW 12(R13), R2 + MOVW 16(R13), R3 + MOVW 20(R13), R4 + MOVW 24(R13), R5 MOVW $SYS_futex, R7 SWI $0 MOVW R0, ret+24(FP) @@ -297,8 +297,8 @@ TEXT runtime·clone(SB),NOSPLIT,$0 MOVW R0, (R1) TEXT runtime·sigaltstack(SB),NOSPLIT,$0 - MOVW 0(FP), R0 - MOVW 4(FP), R1 + MOVW ss+0(FP), R0 + MOVW oss+4(FP), R1 MOVW $SYS_sigaltstack, R7 SWI $0 MOVW $0xfffff001, R6 @@ -345,19 +345,19 @@ TEXT runtime·sigtramp(SB),NOSPLIT,$24 RET TEXT runtime·rtsigprocmask(SB),NOSPLIT,$0 - MOVW 0(FP), R0 - MOVW 4(FP), R1 - MOVW 8(FP), R2 - MOVW 12(FP), R3 + MOVW mask+0(FP), R0 + MOVW how+4(FP), R1 + MOVW set+8(FP), R2 + MOVW oldset+12(FP), R3 MOVW $SYS_rt_sigprocmask, R7 SWI $0 RET TEXT runtime·rt_sigaction(SB),NOSPLIT,$0 - MOVW 0(FP), R0 - MOVW 4(FP), R1 - MOVW 8(FP), R2 - MOVW 12(FP), R3 + MOVW mask+0(FP), R0 + MOVW signum+4(FP), R1 + MOVW act+8(FP), R2 + MOVW oldact+12(FP), R3 MOVW $SYS_rt_sigaction, R7 SWI $0 MOVW R0, ret+16(FP) @@ -369,13 +369,13 @@ TEXT runtime·usleep(SB),NOSPLIT,$12 MOVW $1000000, R2 DIV R2, R0 MOD R2, R1 - MOVW R0, 4(SP) - MOVW R1, 8(SP) + MOVW R0, 4(R13) + MOVW R1, 8(R13) MOVW $0, R0 MOVW $0, R1 MOVW $0, R2 MOVW $0, R3 - MOVW $4(SP), R4 + MOVW $4(R13), R4 MOVW $SYS_select, R7 SWI $0 RET @@ -415,9 +415,9 @@ TEXT runtime·osyield(SB),NOSPLIT,$0 RET TEXT runtime·sched_getaffinity(SB),NOSPLIT,$0 - MOVW 0(FP), R0 - MOVW 4(FP), R1 - MOVW 8(FP), R2 + MOVW pid+0(FP), R0 + MOVW setsize+4(FP), R1 + MOVW mask+8(FP), R2 MOVW $SYS_sched_getaffinity, R7 SWI $0 MOVW R0, ret+12(FP) @@ -425,7 +425,7 @@ TEXT runtime·sched_getaffinity(SB),NOSPLIT,$0 // int32 runtime·epollcreate(int32 size) TEXT runtime·epollcreate(SB),NOSPLIT,$0 - MOVW 0(FP), R0 + MOVW size+0(FP), R0 MOVW $SYS_epoll_create, R7 SWI $0 MOVW R0, ret+4(FP) @@ -433,7 +433,7 @@ TEXT runtime·epollcreate(SB),NOSPLIT,$0 // int32 runtime·epollcreate1(int32 flags) TEXT runtime·epollcreate1(SB),NOSPLIT,$0 - MOVW 0(FP), R0 + MOVW size+0(FP), R0 MOVW $SYS_epoll_create1, R7 SWI $0 MOVW R0, ret+4(FP) @@ -452,10 +452,10 @@ TEXT runtime·epollctl(SB),NOSPLIT,$0 // int32 runtime·epollwait(int32 epfd, EpollEvent *ev, int32 nev, int32 timeout) TEXT runtime·epollwait(SB),NOSPLIT,$0 - MOVW 0(FP), R0 - MOVW 4(FP), R1 - MOVW 8(FP), R2 - MOVW 12(FP), R3 + MOVW epfd+0(FP), R0 + MOVW events+4(FP), R1 + MOVW maxevents+8(FP), R2 + MOVW timeout+12(FP), R3 MOVW $SYS_epoll_wait, R7 SWI $0 MOVW R0, ret+16(FP) @@ -463,7 +463,7 @@ TEXT runtime·epollwait(SB),NOSPLIT,$0 // void runtime·closeonexec(int32 fd) TEXT runtime·closeonexec(SB),NOSPLIT,$0 - MOVW 0(FP), R0 // fd + MOVW fd+0(FP), R0 // fd MOVW $2, R1 // F_SETFD MOVW $1, R2 // FD_CLOEXEC MOVW $SYS_fcntl, R7 @@ -476,26 +476,26 @@ TEXT runtime·read_tls_fallback(SB),NOSPLIT,$-4 B (R0) TEXT runtime·access(SB),NOSPLIT,$0 - MOVW 0(FP), R0 - MOVW 4(FP), R1 + MOVW name+0(FP), R0 + MOVW mode+4(FP), R1 MOVW $SYS_access, R7 SWI $0 MOVW R0, ret+8(FP) RET TEXT runtime·connect(SB),NOSPLIT,$0 - MOVW 0(FP), R0 - MOVW 4(FP), R1 - MOVW 8(FP), R2 + MOVW fd+0(FP), R0 + MOVW addr+4(FP), R1 + MOVW addrlen+8(FP), R2 MOVW $SYS_connect, R7 SWI $0 MOVW R0, ret+12(FP) RET TEXT runtime·socket(SB),NOSPLIT,$0 - MOVW 0(FP), R0 - MOVW 4(FP), R1 - MOVW 8(FP), R2 + MOVW domain+0(FP), R0 + MOVW type+4(FP), R1 + MOVW protocol+8(FP), R2 MOVW $SYS_socket, R7 SWI $0 MOVW R0, ret+12(FP) |
