fix misordered syscall arguments for posix_fadvise on arm
authorRich Felker <dalias@aerifal.cx>
Wed, 29 Jun 2016 22:21:36 +0000 (18:21 -0400)
committerRich Felker <dalias@aerifal.cx>
Wed, 29 Jun 2016 22:21:36 +0000 (18:21 -0400)
the arm version of the syscall has a custom argument ordering to avoid
needing a 7-argument syscall due to 64-bit argument alignment.

src/fcntl/arm/posix_fadvise.c [new file with mode: 0644]

diff --git a/src/fcntl/arm/posix_fadvise.c b/src/fcntl/arm/posix_fadvise.c
new file mode 100644 (file)
index 0000000..5c52f6b
--- /dev/null
@@ -0,0 +1,12 @@
+#include <fcntl.h>
+#include "syscall.h"
+#include "libc.h"
+
+int posix_fadvise(int fd, off_t base, off_t len, int advice)
+{
+       /* ARM-specific syscall argument order */
+       return -__syscall(SYS_fadvise, fd, advice,
+               __SYSCALL_LL_E(base), __SYSCALL_LL_E(len));
+}
+
+LFS64(posix_fadvise);