Browse Source

misc/tst-syscall6: fix build with musl and older kenrel headers

The RWF_DSYNC and RWF_HIPRI macros were introduced in kernel version 4.6
with the preadv2/pwritev2 system calls. musl libc provides its own
syscall definitions, even when the kernel headers are older. This leads
to the following build failure:

tst-syscall6.c: In function 'main':
tst-syscall6.c:32:48: error: 'RWF_DSYNC' undeclared (first use in this function)
  nio = syscall(SYS_pwritev2, fd, iov, 2, 0, 0, RWF_DSYNC);
                                                ^~~~~~~~~
tst-syscall6.c:32:48: note: each undeclared identifier is reported only once for each function it appears in
tst-syscall6.c:42:58: error: 'RWF_HIPRI' undeclared (first use in this function)
  nio = syscall(SYS_preadv2, fd, iov, 1, strlen(str0), 0, RWF_HIPRI);
                                                          ^~~~~~~~~

Make the code depend also on RWF_HIPRI to fix this failure.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Baruch Siach 6 years ago
parent
commit
7329d231e0
1 changed files with 1 additions and 1 deletions
  1. 1 1
      test/misc/tst-syscall6.c

+ 1 - 1
test/misc/tst-syscall6.c

@@ -9,7 +9,7 @@
 
 int main()
 {
-#if defined SYS_preadv2 && defined SYS_pwritev2
+#if defined SYS_preadv2 && defined SYS_pwritev2 && defined RWF_HIPRI
 	char tmp[] = "/tmp/tst-preadv2-XXXXXX";
 	int fd;
 	struct iovec iov[2];