aboutsummaryrefslogtreecommitdiff
path: root/src/syscall/syscall_amd64_linux.s
diff options
context:
space:
mode:
authorRob Pike <r@golang.org>2008-07-28 13:07:58 -0700
committerRob Pike <r@golang.org>2008-07-28 13:07:58 -0700
commitd302244c6ce73f4377b1b1e9897a5efa7c871ee5 (patch)
tree63a17b618c3e35063bcd97912fac5f807ad2f4bd /src/syscall/syscall_amd64_linux.s
parent4a9b4e66042be65ca9a32ebb9c20cda62157adba (diff)
downloadgo-d302244c6ce73f4377b1b1e9897a5efa7c871ee5.tar.xz
add lstat
clean up some code fix comments add paramter names to interface R=ken OCL=13521 CL=13521
Diffstat (limited to 'src/syscall/syscall_amd64_linux.s')
-rw-r--r--src/syscall/syscall_amd64_linux.s16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/syscall/syscall_amd64_linux.s b/src/syscall/syscall_amd64_linux.s
index 7eab69fc0d..1a37dc0d29 100644
--- a/src/syscall/syscall_amd64_linux.s
+++ b/src/syscall/syscall_amd64_linux.s
@@ -99,3 +99,19 @@ TEXT syscall·fstat(SB),1,$0-16
MOVQ AX, 24(SP)
MOVQ $0, 32(SP)
RET
+
+TEXT syscall·lstat(SB),1,$0-16
+ MOVL 8(SP), DI
+ MOVQ 16(SP), SI
+ MOVQ $0, DX
+ MOVQ $6, 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