initial buildroot for linux 5.15
This commit is contained in:
@@ -0,0 +1,222 @@
|
||||
From bee452dfa2a34ba7df7db677e5673cbdcd23f61e Mon Sep 17 00:00:00 2001
|
||||
From: Petr Vorel <petr.vorel@gmail.com>
|
||||
Date: Thu, 1 Oct 2020 23:28:39 +0200
|
||||
Subject: [PATCH] lapi: Add sysinfo.h to fix build with MUSL libc
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The reason is to avoid indirect <linux/sysinfo.h> include when using
|
||||
some network headers: <linux/netlink.h> or others -> <linux/kernel.h>
|
||||
-> <linux/sysinfo.h>
|
||||
|
||||
This indirect include causes on MUSL redefinition of struct sysinfo when
|
||||
included both <sys/sysinfo.h> and some of UAPI headers:
|
||||
|
||||
In file included from x86_64-buildroot-linux-musl/sysroot/usr/include/linux/kernel.h:5,
|
||||
from x86_64-buildroot-linux-musl/sysroot/usr/include/linux/netlink.h:5,
|
||||
from ../include/tst_netlink.h:14,
|
||||
from tst_crypto.c:13:
|
||||
x86_64-buildroot-linux-musl/sysroot/usr/include/linux/sysinfo.h:8:8: error: redefinition of ‘struct sysinfo’
|
||||
struct sysinfo {
|
||||
^~~~~~~
|
||||
In file included from ../include/tst_safe_macros.h:15,
|
||||
from ../include/tst_test.h:93,
|
||||
from tst_crypto.c:11:
|
||||
x86_64-buildroot-linux-musl/sysroot/usr/include/sys/sysinfo.h:10:8: note: originally defined here
|
||||
|
||||
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
|
||||
|
||||
[ upstream status:
|
||||
https://patchwork.ozlabs.org/project/ltp/patch/20201001231256.6930-1-petr.vorel@gmail.com/,
|
||||
rebased for 20210927 ]
|
||||
|
||||
But this patch is not going to get upstreamed because it got fixed in Linux kernel:
|
||||
a85cbe6159ff "uapi: move constants from <linux/kernel.h> to <linux/const.h>"
|
||||
|
||||
This patch was also backported to stable and LTS versions,
|
||||
which we use since buildroot 54584d233b "{linux, linux-headers}: bump
|
||||
5.{4, 10}.x 4.{4, 9, 14, 19} series".
|
||||
We just wait for all musl based toolchains to be rebuilt. ]
|
||||
|
||||
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
|
||||
---
|
||||
include/lapi/sysinfo.h | 22 +++++++++++++++++++
|
||||
include/tst_safe_macros.h | 2 +-
|
||||
lib/safe_macros.c | 2 +-
|
||||
lib/tst_memutils.c | 2 +-
|
||||
testcases/kernel/mem/mtest01/mtest01.c | 2 +-
|
||||
testcases/kernel/syscalls/madvise/madvise06.c | 2 +-
|
||||
testcases/kernel/syscalls/sysinfo/sysinfo01.c | 2 +-
|
||||
testcases/kernel/syscalls/sysinfo/sysinfo02.c | 2 +-
|
||||
testcases/kernel/syscalls/sysinfo/sysinfo03.c | 2 +-
|
||||
.../interfaces/pthread_cond_broadcast/1-2.c | 2 +-
|
||||
10 files changed, 31 insertions(+), 9 deletions(-)
|
||||
create mode 100644 include/lapi/sysinfo.h
|
||||
|
||||
diff --git a/include/lapi/sysinfo.h b/include/lapi/sysinfo.h
|
||||
new file mode 100644
|
||||
index 000000000..d0e0e93d7
|
||||
--- /dev/null
|
||||
+++ b/include/lapi/sysinfo.h
|
||||
@@ -0,0 +1,22 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
+/*
|
||||
+ * Copyright (c) 2020 Petr Vorel <petr.vorel@gmail.com>
|
||||
+ */
|
||||
+
|
||||
+#ifndef SYSINFO_H__
|
||||
+
|
||||
+/*
|
||||
+ * Don't use <sys/sysinfo.h> as it breaks build MUSL toolchain.
|
||||
+ * Use <linux/sysinfo.h> instead.
|
||||
+ *
|
||||
+ * Some kernel UAPI headers do indirect <linux/sysinfo.h> include:
|
||||
+ * <linux/netlink.h> or others -> <linux/kernel.h> -> <linux/sysinfo.h>
|
||||
+ *
|
||||
+ * This indirect include causes on MUSL redefinition of struct sysinfo when
|
||||
+ * included both <sys/sysinfo.h> and some of UAPI headers:
|
||||
+ */
|
||||
+#include <linux/sysinfo.h>
|
||||
+
|
||||
+#define SYSINFO_H__
|
||||
+
|
||||
+#endif /* SYSINFO_H__ */
|
||||
diff --git a/include/tst_safe_macros.h b/include/tst_safe_macros.h
|
||||
index d99441c86..0d26e9d45 100644
|
||||
--- a/include/tst_safe_macros.h
|
||||
+++ b/include/tst_safe_macros.h
|
||||
@@ -12,7 +12,7 @@
|
||||
#include <sys/resource.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/vfs.h>
|
||||
-#include <sys/sysinfo.h>
|
||||
+#include <linux/sysinfo.h>
|
||||
#include <fcntl.h>
|
||||
#include <libgen.h>
|
||||
#include <signal.h>
|
||||
diff --git a/lib/safe_macros.c b/lib/safe_macros.c
|
||||
index a5b6bc504..20d01d304 100644
|
||||
--- a/lib/safe_macros.c
|
||||
+++ b/lib/safe_macros.c
|
||||
@@ -11,7 +11,6 @@
|
||||
#include <sys/wait.h>
|
||||
#include <sys/mount.h>
|
||||
#include <sys/xattr.h>
|
||||
-#include <sys/sysinfo.h>
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#include <libgen.h>
|
||||
@@ -23,6 +22,7 @@
|
||||
#include <malloc.h>
|
||||
#include "test.h"
|
||||
#include "safe_macros.h"
|
||||
+#include "lapi/sysinfo.h"
|
||||
|
||||
char *safe_basename(const char *file, const int lineno,
|
||||
void (*cleanup_fn) (void), char *path)
|
||||
diff --git a/lib/tst_memutils.c b/lib/tst_memutils.c
|
||||
index 69077861f..ae1cad29b 100644
|
||||
--- a/lib/tst_memutils.c
|
||||
+++ b/lib/tst_memutils.c
|
||||
@@ -5,11 +5,11 @@
|
||||
|
||||
#include <unistd.h>
|
||||
#include <limits.h>
|
||||
-#include <sys/sysinfo.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#define TST_NO_DEFAULT_MAIN
|
||||
#include "tst_test.h"
|
||||
+#include "lapi/sysinfo.h"
|
||||
|
||||
#define BLOCKSIZE (16 * 1024 * 1024)
|
||||
|
||||
diff --git a/testcases/kernel/mem/mtest01/mtest01.c b/testcases/kernel/mem/mtest01/mtest01.c
|
||||
index 9676ea4b5..33b2ac822 100644
|
||||
--- a/testcases/kernel/mem/mtest01/mtest01.c
|
||||
+++ b/testcases/kernel/mem/mtest01/mtest01.c
|
||||
@@ -20,7 +20,6 @@
|
||||
*/
|
||||
|
||||
#include <sys/types.h>
|
||||
-#include <sys/sysinfo.h>
|
||||
#include <sys/wait.h>
|
||||
#include <limits.h>
|
||||
#include <signal.h>
|
||||
@@ -29,6 +28,7 @@
|
||||
#include <unistd.h>
|
||||
|
||||
#include "lapi/abisize.h"
|
||||
+#include "lapi/sysinfo.h"
|
||||
#include "tst_test.h"
|
||||
|
||||
#define FIVE_HUNDRED_MB (500ULL*1024*1024)
|
||||
diff --git a/testcases/kernel/syscalls/madvise/madvise06.c b/testcases/kernel/syscalls/madvise/madvise06.c
|
||||
index 263b8e78b..4fa52e6ea 100644
|
||||
--- a/testcases/kernel/syscalls/madvise/madvise06.c
|
||||
+++ b/testcases/kernel/syscalls/madvise/madvise06.c
|
||||
@@ -46,7 +46,7 @@
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <sys/mount.h>
|
||||
-#include <sys/sysinfo.h>
|
||||
+#include "lapi/sysinfo.h"
|
||||
#include "tst_test.h"
|
||||
#include "tst_cgroup.h"
|
||||
|
||||
diff --git a/testcases/kernel/syscalls/sysinfo/sysinfo01.c b/testcases/kernel/syscalls/sysinfo/sysinfo01.c
|
||||
index 2ea44a2be..a237345ef 100644
|
||||
--- a/testcases/kernel/syscalls/sysinfo/sysinfo01.c
|
||||
+++ b/testcases/kernel/syscalls/sysinfo/sysinfo01.c
|
||||
@@ -69,7 +69,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/signal.h>
|
||||
-#include <sys/sysinfo.h>
|
||||
+#include "lapi/sysinfo.h"
|
||||
|
||||
#include "test.h"
|
||||
|
||||
diff --git a/testcases/kernel/syscalls/sysinfo/sysinfo02.c b/testcases/kernel/syscalls/sysinfo/sysinfo02.c
|
||||
index 7ad0e8bdc..61fa1ab75 100644
|
||||
--- a/testcases/kernel/syscalls/sysinfo/sysinfo02.c
|
||||
+++ b/testcases/kernel/syscalls/sysinfo/sysinfo02.c
|
||||
@@ -65,7 +65,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/signal.h>
|
||||
-#include <sys/sysinfo.h>
|
||||
+#include "lapi/sysinfo.h"
|
||||
#include <stdint.h>
|
||||
|
||||
#include "test.h"
|
||||
diff --git a/testcases/kernel/syscalls/sysinfo/sysinfo03.c b/testcases/kernel/syscalls/sysinfo/sysinfo03.c
|
||||
index af7cb6421..dc5ae65e3 100644
|
||||
--- a/testcases/kernel/syscalls/sysinfo/sysinfo03.c
|
||||
+++ b/testcases/kernel/syscalls/sysinfo/sysinfo03.c
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
*/
|
||||
|
||||
-#include <sys/sysinfo.h>
|
||||
+#include "lapi/sysinfo.h"
|
||||
#include "lapi/namespaces_constants.h"
|
||||
#include "lapi/posix_clocks.h"
|
||||
#include "tst_test.h"
|
||||
diff --git a/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c b/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
|
||||
index 22e7c3638..572701f9f 100644
|
||||
--- a/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
|
||||
+++ b/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
|
||||
@@ -43,7 +43,7 @@
|
||||
#include <sys/wait.h>
|
||||
#include <semaphore.h>
|
||||
#ifdef __linux__
|
||||
-#include <sys/sysinfo.h>
|
||||
+#include "lapi/sysinfo.h"
|
||||
#endif
|
||||
|
||||
#include "../testfrmw/testfrmw.h"
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
From 29a096fe2bd356f419bd8a8404d5b652c996b92f Mon Sep 17 00:00:00 2001
|
||||
From: Ralph Siemsen <ralph.siemsen@linaro.org>
|
||||
Date: Mon, 27 Sep 2021 22:18:50 -0400
|
||||
Subject: [PATCH] lib: fix MemAvailable parsing
|
||||
|
||||
The amount of available memory was not being returned correctly, which
|
||||
resulted in tests being executed when they should have been skipped.
|
||||
|
||||
Fixes: 8759f4 ("lib: adjust the tmpfs size according to .dev_min_size and MemAvailable")
|
||||
Signed-off-by: Ralph Siemsen <ralph.siemsen@linaro.org>
|
||||
Signed-off-by: Li Wang <liwang@redhat.com>
|
||||
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
|
||||
[ upstream status: e42149e28 ("lib: fix MemAvailable parsing") ]
|
||||
---
|
||||
lib/tst_memutils.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/tst_memutils.c b/lib/tst_memutils.c
|
||||
index ae1cad29b..a46de78f5 100644
|
||||
--- a/lib/tst_memutils.c
|
||||
+++ b/lib/tst_memutils.c
|
||||
@@ -65,9 +65,9 @@ void tst_pollute_memory(size_t maxsize, int fillchar)
|
||||
|
||||
long long tst_available_mem(void)
|
||||
{
|
||||
- long long mem_available;
|
||||
+ unsigned long long mem_available = 0;
|
||||
|
||||
- if (FILE_LINES_SCANF("/proc/meminfo", "MemAvailable: %ld",
|
||||
+ if (FILE_LINES_SCANF("/proc/meminfo", "MemAvailable: %llu",
|
||||
&mem_available)) {
|
||||
mem_available = SAFE_READ_MEMINFO("MemFree:")
|
||||
+ SAFE_READ_MEMINFO("Cached:");
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
From 881709d1e4d1bba5bf8ca365bc058f338bd72dc2 Mon Sep 17 00:00:00 2001
|
||||
From: Petr Vorel <petr.vorel@gmail.com>
|
||||
Date: Wed, 29 Sep 2021 19:38:42 +0200
|
||||
Subject: [PATCH] lapi/rtnetlink.h: Fix include guards
|
||||
|
||||
Fixes: 5fea0638a ("lapi: Add missing IFA_FLAGS")
|
||||
|
||||
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
|
||||
[ upstream status: a2a212cf8 ("lapi/rtnetlink.h: Fix include guards") ]
|
||||
---
|
||||
include/lapi/rtnetlink.h | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/include/lapi/rtnetlink.h b/include/lapi/rtnetlink.h
|
||||
index 8a1b5385b..04e9ad51a 100644
|
||||
--- a/include/lapi/rtnetlink.h
|
||||
+++ b/include/lapi/rtnetlink.h
|
||||
@@ -1,8 +1,8 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
/* Copyright (c) 2021 Petr Vorel <petr.vorel@gmail.com> */
|
||||
|
||||
-#ifndef LAPI_IF_ADDR_H__
|
||||
-# define LAPI_IF_ADDR_H__
|
||||
+#ifndef LAPI_RTNETLINK_H__
|
||||
+# define LAPI_RTNETLINK_H__
|
||||
|
||||
#include <linux/rtnetlink.h>
|
||||
|
||||
@@ -10,4 +10,4 @@
|
||||
# define IFA_FLAGS 8
|
||||
#endif
|
||||
|
||||
-#endif /* LAPI_IF_ADDR_H__ */
|
||||
+#endif /* LAPI_RTNETLINK_H__ */
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
From b13440627bd4a9f060a33d400a47a40daa2bc12e Mon Sep 17 00:00:00 2001
|
||||
From: Petr Vorel <petr.vorel@gmail.com>
|
||||
Date: Wed, 29 Sep 2021 19:37:19 +0200
|
||||
Subject: [PATCH] lapi: Create if_addr.h and reuse it in rtnetlink.h
|
||||
|
||||
There will be fix in next commit for missing IFA_F_NOPREFIXROUTE which
|
||||
requires creating lapi/if_addr.h. Thus move IFA_FLAGS to lapi/if_addr.h,
|
||||
as it belongs there and reuse lapi/if_addr.h in lapi/rtnetlink.h just
|
||||
like <linux/rtnetlink.h> includes <linux/if_addr.h>.
|
||||
|
||||
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
|
||||
[ upstream status: https://lore.kernel.org/ltp/20210930183058.5240-3-petr.vorel@gmail.com/T/#u ]
|
||||
---
|
||||
include/lapi/if_addr.h | 16 ++++++++++++++++
|
||||
include/lapi/rtnetlink.h | 5 +----
|
||||
2 files changed, 17 insertions(+), 4 deletions(-)
|
||||
create mode 100644 include/lapi/if_addr.h
|
||||
|
||||
diff --git a/include/lapi/if_addr.h b/include/lapi/if_addr.h
|
||||
new file mode 100644
|
||||
index 000000000..4e50a0a4e
|
||||
--- /dev/null
|
||||
+++ b/include/lapi/if_addr.h
|
||||
@@ -0,0 +1,16 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
+/*
|
||||
+ * Copyright (c) 2021 Petr Vorel <petr.vorel@gmail.com>
|
||||
+ */
|
||||
+
|
||||
+#ifndef LAPI_IF_ADDR_H__
|
||||
+#define LAPI_IF_ADDR_H__
|
||||
+
|
||||
+#include <linux/if_addr.h>
|
||||
+
|
||||
+#ifndef IFA_FLAGS
|
||||
+# define IFA_FLAGS 8
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
+#endif /* LAPI_IF_ADDR_H__ */
|
||||
diff --git a/include/lapi/rtnetlink.h b/include/lapi/rtnetlink.h
|
||||
index 04e9ad51a..089bf1a0d 100644
|
||||
--- a/include/lapi/rtnetlink.h
|
||||
+++ b/include/lapi/rtnetlink.h
|
||||
@@ -5,9 +5,6 @@
|
||||
# define LAPI_RTNETLINK_H__
|
||||
|
||||
#include <linux/rtnetlink.h>
|
||||
-
|
||||
-#ifndef IFA_FLAGS
|
||||
-# define IFA_FLAGS 8
|
||||
-#endif
|
||||
+#include "lapi/if_addr.h"
|
||||
|
||||
#endif /* LAPI_RTNETLINK_H__ */
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
From 9e357fb4fc00ab9c303e314b85b9ae3836141f81 Mon Sep 17 00:00:00 2001
|
||||
From: Petr Vorel <petr.vorel@gmail.com>
|
||||
Date: Wed, 29 Sep 2021 19:56:29 +0200
|
||||
Subject: [PATCH] lapi/if_addr.h: Define IFA_FLAGS
|
||||
|
||||
and use it in icmp_rate_limit01.c.
|
||||
|
||||
This fixes error on toolchains with very old kernel headers, e.g.
|
||||
Buildroot sourcery-arm:
|
||||
|
||||
icmp_rate_limit01.c:82:3: error: 'IFA_F_NOPREFIXROUTE' undeclared (first use in this function)
|
||||
IFA_F_NOPREFIXROUTE);
|
||||
|
||||
Fixed because IFA_F_NOPREFIXROUTE was added in 3.14 and the oldest
|
||||
system we still support is Cent0S 7 with 3.10 kernel.
|
||||
|
||||
NOTE: Cent0S 7 is obviously heavily patched thus it contains
|
||||
IFA_F_NOPREFIXROUTE and therefore CI build didn't catch this error.
|
||||
|
||||
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
|
||||
[ upstream status: https://lore.kernel.org/ltp/20210930183058.5240-4-petr.vorel@gmail.com/T/#u ]
|
||||
---
|
||||
include/lapi/if_addr.h | 3 +++
|
||||
testcases/cve/icmp_rate_limit01.c | 3 ++-
|
||||
2 files changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/lapi/if_addr.h b/include/lapi/if_addr.h
|
||||
index 4e50a0a4e..0f7e44784 100644
|
||||
--- a/include/lapi/if_addr.h
|
||||
+++ b/include/lapi/if_addr.h
|
||||
@@ -12,5 +12,8 @@
|
||||
# define IFA_FLAGS 8
|
||||
#endif
|
||||
|
||||
+#ifndef IFA_F_NOPREFIXROUTE
|
||||
+# define IFA_F_NOPREFIXROUTE 0x200
|
||||
+#endif
|
||||
|
||||
#endif /* LAPI_IF_ADDR_H__ */
|
||||
diff --git a/testcases/cve/icmp_rate_limit01.c b/testcases/cve/icmp_rate_limit01.c
|
||||
index b3a237b30..3ada32675 100644
|
||||
--- a/testcases/cve/icmp_rate_limit01.c
|
||||
+++ b/testcases/cve/icmp_rate_limit01.c
|
||||
@@ -27,11 +27,12 @@
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
-#include <linux/if_addr.h>
|
||||
#include <linux/errqueue.h>
|
||||
|
||||
#include <sched.h>
|
||||
#include <limits.h>
|
||||
+
|
||||
+#include "lapi/if_addr.h"
|
||||
#include "tst_test.h"
|
||||
#include "tst_netdevice.h"
|
||||
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
config BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS
|
||||
bool
|
||||
# Needs __sync*() built-ins for 4-byte data, except on a few
|
||||
# architectures for which a specific implementation is
|
||||
# provided in ltp-testsuite
|
||||
default y if BR2_TOOLCHAIN_HAS_SYNC_4
|
||||
default y if BR2_arc
|
||||
# does not build on nios2, cachectl.h issue
|
||||
depends on !BR2_nios2
|
||||
|
||||
config BR2_PACKAGE_LTP_TESTSUITE
|
||||
bool "ltp-testsuite"
|
||||
depends on BR2_USE_MMU # fork()
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
||||
depends on BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS
|
||||
select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
||||
select BR2_PACKAGE_MUSL_FTS if !BR2_TOOLCHAIN_USES_GLIBC
|
||||
help
|
||||
The Linux Test Project provides a huge testsuite for Linux.
|
||||
|
||||
http://linux-test-project.github.io
|
||||
|
||||
if BR2_PACKAGE_LTP_TESTSUITE
|
||||
|
||||
config BR2_PACKAGE_LTP_TESTSUITE_OPEN_POSIX
|
||||
bool "Open POSIX testsuite"
|
||||
default y
|
||||
help
|
||||
Test suite for POSIX compliance. Included with the LTP.
|
||||
|
||||
config BR2_PACKAGE_LTP_TESTSUITE_REALTIME
|
||||
bool "Realtime testsuite"
|
||||
default y
|
||||
help
|
||||
Test suite for realtime kernels. Included with the LTP.
|
||||
|
||||
endif
|
||||
|
||||
comment "ltp-testsuite needs a toolchain w/ NPTL"
|
||||
depends on BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
||||
@@ -0,0 +1,5 @@
|
||||
# From: https://github.com/linux-test-project/ltp/releases/download/20210927/ltp-full-20210927.tar.xz.sha1
|
||||
sha1 dad7737f609e358c4060cb446b9cae5c026fc137 ltp-full-20210927.tar.xz
|
||||
# Locally computed
|
||||
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
|
||||
sha256 779e9e5cc9af4f2b3d4cb32f5439ebd635504d2c4591bf900f0942dac290ed15 ltp-full-20210927.tar.xz
|
||||
@@ -0,0 +1,98 @@
|
||||
################################################################################
|
||||
#
|
||||
# ltp-testsuite
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LTP_TESTSUITE_VERSION = 20210927
|
||||
LTP_TESTSUITE_SOURCE = ltp-full-$(LTP_TESTSUITE_VERSION).tar.xz
|
||||
LTP_TESTSUITE_SITE = https://github.com/linux-test-project/ltp/releases/download/$(LTP_TESTSUITE_VERSION)
|
||||
|
||||
LTP_TESTSUITE_LICENSE = GPL-2.0, GPL-2.0+
|
||||
LTP_TESTSUITE_LICENSE_FILES = COPYING
|
||||
|
||||
LTP_TESTSUITE_CONF_OPTS += --disable-metadata
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LTP_TESTSUITE_OPEN_POSIX),y)
|
||||
LTP_TESTSUITE_CONF_OPTS += --with-open-posix-testsuite
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LTP_TESTSUITE_REALTIME),y)
|
||||
LTP_TESTSUITE_CONF_OPTS += --with-realtime-testsuite
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_LINUX_KERNEL),y)
|
||||
LTP_TESTSUITE_DEPENDENCIES += linux
|
||||
LTP_TESTSUITE_MAKE_ENV += $(LINUX_MAKE_FLAGS)
|
||||
LTP_TESTSUITE_CONF_OPTS += --with-linux-dir=$(LINUX_DIR)
|
||||
else
|
||||
LTP_TESTSUITE_CONF_OPTS += --without-modules
|
||||
endif
|
||||
|
||||
# We change the prefix to a custom one, otherwise we get scripts and
|
||||
# directories directly in /usr, such as /usr/runalltests.sh
|
||||
LTP_TESTSUITE_CONF_OPTS += --prefix=/usr/lib/ltp-testsuite
|
||||
|
||||
# Needs libcap with file attrs which needs attr, so both required
|
||||
ifeq ($(BR2_PACKAGE_LIBCAP)$(BR2_PACKAGE_ATTR),yy)
|
||||
LTP_TESTSUITE_DEPENDENCIES += libcap
|
||||
else
|
||||
LTP_TESTSUITE_CONF_ENV += ac_cv_lib_cap_cap_compare=no
|
||||
endif
|
||||
|
||||
# No explicit enable/disable options
|
||||
ifeq ($(BR2_PACKAGE_NUMACTL),y)
|
||||
LTP_TESTSUITE_DEPENDENCIES += numactl
|
||||
else
|
||||
LTP_TESTSUITE_CONF_ENV += have_numa_headers=no
|
||||
endif
|
||||
|
||||
# ltp-testsuite uses <fts.h>, which isn't compatible with largefile
|
||||
# support.
|
||||
LTP_TESTSUITE_CFLAGS = $(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CFLAGS))
|
||||
LTP_TESTSUITE_CPPFLAGS = $(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CPPFLAGS))
|
||||
LTP_TESTSUITE_LIBS =
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBTIRPC),y)
|
||||
LTP_TESTSUITE_DEPENDENCIES += libtirpc host-pkgconf
|
||||
LTP_TESTSUITE_CFLAGS += "`$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc`"
|
||||
LTP_TESTSUITE_LIBS += "`$(PKG_CONFIG_HOST_BINARY) --libs libtirpc`"
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),)
|
||||
LTP_TESTSUITE_DEPENDENCIES += musl-fts
|
||||
LTP_TESTSUITE_LIBS += -lfts
|
||||
endif
|
||||
|
||||
LTP_TESTSUITE_CONF_ENV += \
|
||||
CFLAGS="$(LTP_TESTSUITE_CFLAGS)" \
|
||||
CPPFLAGS="$(LTP_TESTSUITE_CPPFLAGS)" \
|
||||
LIBS="$(LTP_TESTSUITE_LIBS)" \
|
||||
SYSROOT="$(STAGING_DIR)"
|
||||
|
||||
# uclibc: bessel support normally not enabled
|
||||
LTP_TESTSUITE_UNSUPPORTED_TEST_CASES_$(BR2_TOOLCHAIN_USES_UCLIBC) += \
|
||||
testcases/misc/math/float/bessel/ \
|
||||
testcases/misc/math/float/float_bessel.c
|
||||
|
||||
LTP_TESTSUITE_UNSUPPORTED_TEST_CASES_$(BR2_TOOLCHAIN_USES_MUSL) += \
|
||||
testcases/kernel/syscalls/confstr/confstr01.c \
|
||||
testcases/kernel/syscalls/fmtmsg/fmtmsg01.c \
|
||||
testcases/kernel/syscalls/getcontext/getcontext01.c \
|
||||
testcases/kernel/syscalls/rt_tgsigqueueinfo/rt_tgsigqueueinfo01.c \
|
||||
testcases/kernel/syscalls/timer_create/timer_create01.c \
|
||||
testcases/kernel/syscalls/timer_create/timer_create03.c
|
||||
|
||||
# ldd command build system tries to build a shared library unconditionally.
|
||||
LTP_TESTSUITE_UNSUPPORTED_TEST_CASES_$(BR2_STATIC_LIBS) += \
|
||||
testcases/commands/ldd
|
||||
|
||||
define LTP_TESTSUITE_REMOVE_UNSUPPORTED_TESTCASES
|
||||
$(foreach f,$(LTP_TESTSUITE_UNSUPPORTED_TEST_CASES_y),
|
||||
rm -rf $(@D)/$(f)
|
||||
)
|
||||
endef
|
||||
|
||||
LTP_TESTSUITE_POST_PATCH_HOOKS += LTP_TESTSUITE_REMOVE_UNSUPPORTED_TESTCASES
|
||||
|
||||
$(eval $(autotools-package))
|
||||
Reference in New Issue
Block a user