uclibc-ng-test: fix build with musl and older kernel headers

musl libc provides its own system call macros, including
preadv2/pwritev2. Having these macros defined is not enough to determine
availability of other related macros in kernel headers.

Add a patch to check these macros directly.

Fixes:
http://autobuild.buildroot.net/results/7e9/7e9945f46ef9e0f6de7e1c85b0ca1104df6c86f5/
http://autobuild.buildroot.net/results/782/782652193bb6770ae68d509b3a7087667622d627/
http://autobuild.buildroot.net/results/582/5827a724c7f24218010f4cdd24924dca457b0361/

Cc: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018.05.x
Baruch Siach 2018-03-13 14:54:01 +02:00 committed by Peter Korsgaard
parent 09378b474f
commit 02940d8ccf
1 changed files with 45 additions and 0 deletions

View File

@ -0,0 +1,45 @@
From 9a09c89fdd0e0cebec48d1bb7bc187bf92ae361c Mon Sep 17 00:00:00 2001
From: Baruch Siach <baruch@tkos.co.il>
Date: Tue, 13 Mar 2018 12:58:59 +0200
Subject: [PATCH] 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>
---
Upstream status: patch sent to Waldemar Brodkorb <wbx@openadk.org>
test/misc/tst-syscall6.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/misc/tst-syscall6.c b/test/misc/tst-syscall6.c
index fa51c275e4a5..9ad2ddac2b8f 100644
--- a/test/misc/tst-syscall6.c
+++ b/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];
--
2.16.1