summaryrefslogtreecommitdiffstats
path: root/libc/arch-sh/syscalls/__fstatfs64.S
diff options
context:
space:
mode:
authorDavid 'Digit' Turner <digit@google.com>2010-07-08 16:52:27 -0700
committerDavid 'Digit' Turner <digit@google.com>2010-07-08 16:52:27 -0700
commitab8b54101eed0a4b92ebf8fa6994cd1b4f22d8f4 (patch)
tree938dc20fe75d7fcedb7c11c7c44f68aa783463e7 /libc/arch-sh/syscalls/__fstatfs64.S
parentd466780c7cedb41edcf13f28ad900556c6aaa5b2 (diff)
downloadbionic-ab8b54101eed0a4b92ebf8fa6994cd1b4f22d8f4.zip
bionic-ab8b54101eed0a4b92ebf8fa6994cd1b4f22d8f4.tar.gz
bionic-ab8b54101eed0a4b92ebf8fa6994cd1b4f22d8f4.tar.bz2
libc: fix fstatfs() implementation.
The syscall expects the size of the buffer as the second argument. Change-Id: I99ede2fec7fcd385ca03ff022c2cffa4297bea8d
Diffstat (limited to 'libc/arch-sh/syscalls/__fstatfs64.S')
-rw-r--r--libc/arch-sh/syscalls/__fstatfs64.S32
1 files changed, 32 insertions, 0 deletions
diff --git a/libc/arch-sh/syscalls/__fstatfs64.S b/libc/arch-sh/syscalls/__fstatfs64.S
new file mode 100644
index 0000000..dcf1d80
--- /dev/null
+++ b/libc/arch-sh/syscalls/__fstatfs64.S
@@ -0,0 +1,32 @@
+/* autogenerated by gensyscalls.py */
+#include <sys/linux-syscalls.h>
+
+ .text
+ .type __fstatfs64, @function
+ .globl __fstatfs64
+ .align 4
+
+__fstatfs64:
+
+ /* invoke trap */
+ mov.l 0f, r3 /* trap num */
+ trapa #(3 + 0x10)
+
+ /* check return value */
+ cmp/pz r0
+ bt __NR_fstatfs64_end
+
+ /* keep error number */
+ sts.l pr, @-r15
+ mov.l 1f, r1
+ jsr @r1
+ mov r0, r4
+ lds.l @r15+, pr
+
+__NR_fstatfs64_end:
+ rts
+ nop
+
+ .align 2
+0: .long __NR_fstatfs64
+1: .long __set_syscall_errno