summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2016-06-29 18:21:36 -0400
committerRich Felker <dalias@aerifal.cx>2016-06-29 18:21:36 -0400
commit6d38c9cf80f47623e5e48190046673bbd0dc410b (patch)
tree33312359e0d1bf68e8a01ed1707f9c3da9a5bdda
parent804debee2b1550d10b5ea7290240860dca40ea72 (diff)
downloadmusl-6d38c9cf80f47623e5e48190046673bbd0dc410b.tar.gz
fix misordered syscall arguments for posix_fadvise on arm
the arm version of the syscall has a custom argument ordering to avoid needing a 7-argument syscall due to 64-bit argument alignment.
-rw-r--r--src/fcntl/arm/posix_fadvise.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/fcntl/arm/posix_fadvise.c b/src/fcntl/arm/posix_fadvise.c
new file mode 100644
index 00000000..5c52f6b8
--- /dev/null
+++ b/src/fcntl/arm/posix_fadvise.c
@@ -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);