aboutsummaryrefslogtreecommitdiffstats
path: root/main/musl/0019-fix-misordered-syscall-arguments-for-posix_fadvise-o.patch
blob: c38948c32c586d71f2dbecdea0d4e7edf9a44184 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
From 6d38c9cf80f47623e5e48190046673bbd0dc410b Mon Sep 17 00:00:00 2001
From: Rich Felker <dalias@aerifal.cx>
Date: Wed, 29 Jun 2016 18:21:36 -0400
Subject: [PATCH] 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.
---
 src/fcntl/arm/posix_fadvise.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)
 create mode 100644 src/fcntl/arm/posix_fadvise.c

diff --git a/src/fcntl/arm/posix_fadvise.c b/src/fcntl/arm/posix_fadvise.c
new file mode 100644
index 0000000..5c52f6b
--- /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);
-- 
2.9.1