diff options
| author | Rob Pike <r@golang.org> | 2008-07-26 16:22:14 -0700 |
|---|---|---|
| committer | Rob Pike <r@golang.org> | 2008-07-26 16:22:14 -0700 |
| commit | eccea1980d961a6ac6ab4cf3294edce8ca6e9c11 (patch) | |
| tree | 4937d8dc87884019f50752cf5647096b0259354d /src/syscall/syscall_amd64_linux.s | |
| parent | 20a02661d98f8206a52def4dcca80e89df5482e9 (diff) | |
| download | go-eccea1980d961a6ac6ab4cf3294edce8ca6e9c11.tar.xz | |
add fstat, stat
R=ken
OCL=13497
CL=13497
Diffstat (limited to 'src/syscall/syscall_amd64_linux.s')
| -rw-r--r-- | src/syscall/syscall_amd64_linux.s | 84 |
1 files changed, 31 insertions, 53 deletions
diff --git a/src/syscall/syscall_amd64_linux.s b/src/syscall/syscall_amd64_linux.s index 9690a96362..7eab69fc0d 100644 --- a/src/syscall/syscall_amd64_linux.s +++ b/src/syscall/syscall_amd64_linux.s @@ -6,12 +6,6 @@ // System calls for AMD64, Linux // -//TEXT sys·exit(SB),1,$0-8 -// MOVL 8(SP), DI -// MOVL $60, AX -// SYSCALL -// RET - TEXT syscall·open(SB),1,$0-16 MOVQ 8(SP), DI MOVQ 16(SP), SI @@ -42,13 +36,6 @@ TEXT syscall·close(SB),1,$0-16 MOVQ $0, 24(SP) RET -//TEXT fstat(SB),1,$0-16 -// MOVL 8(SP), DI -// MOVQ 16(SP), SI -// MOVL $5, AX // syscall entry -// SYSCALL -// RET - TEXT syscall·read(SB),1,$0-16 MOVL 8(SP), DI MOVQ 16(SP), SI @@ -81,43 +68,34 @@ TEXT syscall·write(SB),1,$0-16 MOVQ $0, 40(SP) RET -//TEXT sys·rt_sigaction(SB),1,$0-32 -// MOVL 8(SP), DI -// MOVQ 16(SP), SI -// MOVQ 24(SP), DX -// MOVQ 32(SP), CX -// MOVL CX, R10 -// MOVL $13, AX // syscall entry -// SYSCALL -// RET -// -//TEXT sigtramp(SB),1,$24-16 -// MOVQ DI,0(SP) -// MOVQ SI,8(SP) -// MOVQ DX,16(SP) -// CALL sighandler(SB) -// RET -// -//TEXT sys·mmap(SB),1,$0-32 -// MOVQ 8(SP), DI -// MOVL 16(SP), SI -// MOVL 20(SP), DX -// MOVL 24(SP), CX -// MOVL 28(SP), R8 -// MOVL 32(SP), R9 -// -///* flags arg for ANON is 1000 but sb 20 */ -// MOVL CX, AX -// ANDL $~0x1000, CX -// ANDL $0x1000, AX -// SHRL $7, AX -// ORL AX, CX -// -// MOVL CX, R10 -// MOVL $9, AX // syscall entry -// SYSCALL -// CMPQ AX, $0xfffffffffffff001 -// JLS 2(PC) -// CALL notok(SB) -// RET -// +TEXT syscall·stat(SB),1,$0-16 + MOVQ 8(SP), DI + MOVQ 16(SP), SI + MOVQ $0, DX + MOVQ $5, AX // syscall entry + SYSCALL + CMPQ AX, $0xfffffffffffff001 + JLS 5(PC) + MOVQ $-1, 24(SP) + NEGQ AX + MOVQ AX, 32(SP) + RET + MOVQ AX, 24(SP) + MOVQ $0, 32(SP) + RET + +TEXT syscall·fstat(SB),1,$0-16 + MOVL 8(SP), DI + MOVQ 16(SP), SI + MOVQ $0, DX + MOVQ $5, AX // syscall entry + SYSCALL + CMPQ AX, $0xfffffffffffff001 + JLS 5(PC) + MOVQ $-1, 24(SP) + NEGQ AX + MOVQ AX, 32(SP) + RET + MOVQ AX, 24(SP) + MOVQ $0, 32(SP) + RET |
