summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/ltp
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-extended/ltp')
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-Add-__clear_cache-declaration-for-clang.patch32
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch9
-rw-r--r--meta/recipes-extended/ltp/ltp/0002-lib-fix-MemAvailable-parsing.patch36
-rw-r--r--meta/recipes-extended/ltp/ltp/0003-lapi-rtnetlink.h-Fix-include-guards.patch37
-rw-r--r--meta/recipes-extended/ltp/ltp/0004-lapi-Create-if_addr.h-and-reuse-it-in-rtnetlink.h.patch58
-rw-r--r--meta/recipes-extended/ltp/ltp/0005-lapi-if_addr.h-Define-IFA_FLAGS.patch60
-rw-r--r--meta/recipes-extended/ltp/ltp_20240524.bb (renamed from meta/recipes-extended/ltp/ltp_20210927.bb)49
7 files changed, 64 insertions, 217 deletions
diff --git a/meta/recipes-extended/ltp/ltp/0001-Add-__clear_cache-declaration-for-clang.patch b/meta/recipes-extended/ltp/ltp/0001-Add-__clear_cache-declaration-for-clang.patch
new file mode 100644
index 0000000000..ade6a52b63
--- /dev/null
+++ b/meta/recipes-extended/ltp/ltp/0001-Add-__clear_cache-declaration-for-clang.patch
@@ -0,0 +1,32 @@
+From 2d384f268791ecd5ff0f26c8137dd4de0a1c4566 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 10 Jun 2024 22:52:56 -0700
+Subject: [PATCH] Add __clear_cache declaration for clang
+
+__clear_cache was enabled on RISCV recently with 7352ba02390116f1cd6a9b583860ba28aa0a1b7a
+however it fails to compile with clang19 on RISCV
+With this error
+
+ hugemmap15.c:51:2: error: call to undeclared function '__clear_cache'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+ 51 | __clear_cache(p, p + COPY_SIZE);
+ | ^
+
+Upstream-Status: Submitted [https://lists.linux.it/pipermail/ltp/2024-June/038762.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Cc: Hui Min Mina Chou <minachou@andestech.com>
+---
+ testcases/kernel/mem/hugetlb/hugemmap/hugemmap15.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap15.c b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap15.c
+index a84ba6476..856e22ff3 100644
+--- a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap15.c
++++ b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap15.c
+@@ -21,6 +21,7 @@
+
+ #if defined(__clang__)
+ #pragma clang optimize off
++ void __clear_cache(void *start, void *end);
+ #endif
+
+ #define _GNU_SOURCE
diff --git a/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch b/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch
index 6d945700be..5b6c780bec 100644
--- a/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch
+++ b/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch
@@ -1,4 +1,4 @@
-From e87c2ad1e16cdbd62ba71b2ace3270503decaa56 Mon Sep 17 00:00:00 2001
+From 768159aa53257d247645a12518778f50b8fdf578 Mon Sep 17 00:00:00 2001
From: "Mingde (Matthew) Zeng" <matthewzmd@gmail.com>
Date: Wed, 29 Jul 2020 08:47:09 -0400
Subject: [PATCH] Remove OOM tests from runtest/mm
@@ -14,10 +14,10 @@ Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
1 file changed, 6 deletions(-)
diff --git a/runtest/mm b/runtest/mm
-index 6537666a9..e5a091a5a 100644
+index 6a8cd0b9d..8ce3f4416 100644
--- a/runtest/mm
+++ b/runtest/mm
-@@ -73,12 +73,6 @@ ksm06_2 ksm06 -n 8000
+@@ -76,12 +76,6 @@ ksm07 ksm07
cpuset01 cpuset01
@@ -30,6 +30,3 @@ index 6537666a9..e5a091a5a 100644
swapping01 swapping01 -i 5
thp01 thp01 -I 120
---
-2.33.0
-
diff --git a/meta/recipes-extended/ltp/ltp/0002-lib-fix-MemAvailable-parsing.patch b/meta/recipes-extended/ltp/ltp/0002-lib-fix-MemAvailable-parsing.patch
deleted file mode 100644
index 1860b95ce9..0000000000
--- a/meta/recipes-extended/ltp/ltp/0002-lib-fix-MemAvailable-parsing.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-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: Backport [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
-
diff --git a/meta/recipes-extended/ltp/ltp/0003-lapi-rtnetlink.h-Fix-include-guards.patch b/meta/recipes-extended/ltp/ltp/0003-lapi-rtnetlink.h-Fix-include-guards.patch
deleted file mode 100644
index 6fcafaff1c..0000000000
--- a/meta/recipes-extended/ltp/ltp/0003-lapi-rtnetlink.h-Fix-include-guards.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-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: Backport [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
-
diff --git a/meta/recipes-extended/ltp/ltp/0004-lapi-Create-if_addr.h-and-reuse-it-in-rtnetlink.h.patch b/meta/recipes-extended/ltp/ltp/0004-lapi-Create-if_addr.h-and-reuse-it-in-rtnetlink.h.patch
deleted file mode 100644
index 19ac3ba046..0000000000
--- a/meta/recipes-extended/ltp/ltp/0004-lapi-Create-if_addr.h-and-reuse-it-in-rtnetlink.h.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-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: Submitted [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
-
diff --git a/meta/recipes-extended/ltp/ltp/0005-lapi-if_addr.h-Define-IFA_FLAGS.patch b/meta/recipes-extended/ltp/ltp/0005-lapi-if_addr.h-Define-IFA_FLAGS.patch
deleted file mode 100644
index f510fda8c9..0000000000
--- a/meta/recipes-extended/ltp/ltp/0005-lapi-if_addr.h-Define-IFA_FLAGS.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-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_F_NOPREFIXROUTE
-
-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: Submitted [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
-
diff --git a/meta/recipes-extended/ltp/ltp_20210927.bb b/meta/recipes-extended/ltp/ltp_20240524.bb
index 359a00132e..7105154712 100644
--- a/meta/recipes-extended/ltp/ltp_20210927.bb
+++ b/meta/recipes-extended/ltp/ltp_20240524.bb
@@ -2,7 +2,7 @@ SUMMARY = "Linux Test Project"
DESCRIPTION = "The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The Linux Test Project is a collection of tools for testing the Linux kernel and related features."
HOMEPAGE = "https://linux-test-project.github.io/"
SECTION = "console/utils"
-LICENSE = "GPLv2 & GPLv2+ & LGPLv2+ & LGPLv2.1+ & BSD-2-Clause"
+LICENSE = "GPL-2.0-only & GPL-2.0-or-later & LGPL-2.0-or-later & LGPL-2.1-or-later & BSD-2-Clause"
LIC_FILES_CHKSUM = "\
file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://testcases/open_posix_testsuite/COPYING;md5=48b1c5ec633e3e30ec2cf884ae699947 \
@@ -19,23 +19,36 @@ EXTRA_OECONF:append:libc-musl = " LIBS=-lfts "
# is set to -O0 or frame pointers have been enabled by -fno-omit-frame-pointer
# earlier in CFLAGS, etc.
CFLAGS:append:x86-64 = " -fomit-frame-pointer"
+TUNE_CCARGS:remove:x86 = "-mfpmath=sse"
+TUNE_CCARGS:remove:x86-64 = "-mfpmath=sse"
CFLAGS:append:powerpc64 = " -D__SANE_USERSPACE_TYPES__"
CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
-SRCREV = "12beeda351b5d758a729aaf695b836ccc9eb5304"
+SRCREV = "8f21ebba42216dbb7e8d44c23b4a977d6823f7a1"
-SRC_URI = "git://github.com/linux-test-project/ltp.git \
+SRC_URI = "git://github.com/linux-test-project/ltp.git;branch=master;protocol=https \
file://0001-Remove-OOM-tests-from-runtest-mm.patch \
- file://0002-lib-fix-MemAvailable-parsing.patch \
- file://0003-lapi-rtnetlink.h-Fix-include-guards.patch \
- file://0004-lapi-Create-if_addr.h-and-reuse-it-in-rtnetlink.h.patch \
- file://0005-lapi-if_addr.h-Define-IFA_FLAGS.patch \
+ file://0001-Add-__clear_cache-declaration-for-clang.patch \
"
S = "${WORKDIR}/git"
inherit autotools-brokensep pkgconfig
+# Version 20220527 added KVM test infrastructure which currently fails to build with gold due to
+# SORT_NONE in linker script which isn't supported by gold:
+# https://sourceware.org/bugzilla/show_bug.cgi?id=18097
+# https://github.com/linux-test-project/ltp/commit/3fce2064b54843218d085aae326c8f7ecf3a8c41#diff-39268f0855c634ca48c8993fcd2c95b12a65b79e8d9fa5ccd6b0f5a8785c0dd6R36
+LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd', '', d)}"
+LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -fuse-ld=bfd', '', d)}"
+
+# After 0002-kvm-use-LD-instead-of-hardcoding-ld.patch
+# https://github.com/linux-test-project/ltp/commit/f94e0ef3b7280f886384703ef9019aaf2f2dfebb
+# it fails with gold also a bit later when trying to use *-payload.bin
+# http://errors.yoctoproject.org/Errors/Details/663094/
+# work around this by forcing .bfd linked in LD when ld-is-gold is in DISTRO_FEATURES
+KVM_LD = "${@bb.utils.contains_any('DISTRO_FEATURES', 'ld-is-gold ld-is-lld', '${HOST_PREFIX}ld.bfd${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}', '${LD}', d)}"
+
TARGET_CC_ARCH += "${LDFLAGS}"
export prefix = "/opt/${PN}"
@@ -47,6 +60,10 @@ EXTRA_OECONF = " --with-realtime-testsuite --with-open-posix-testsuite "
# ltp network/rpc test cases ftbfs when libtirpc is found
EXTRA_OECONF += " --without-tirpc "
+do_compile() {
+ oe_runmake HOSTCC="${CC_FOR_BUILD}" HOST_CFLAGS="${CFLAGS_FOR_BUILD}" HOST_LDFLAGS="${LDFLAGS_FOR_BUILD}" KVM_LD="${KVM_LD}"
+}
+
do_install(){
install -d ${D}${prefix}/
oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install include-install
@@ -59,16 +76,6 @@ do_install(){
# OSDL's Scaleable Test Platform, but now http://khack.osdl.org unaccessible
rm -rf ${D}${prefix}/bin/STPfailure_report.pl
- # Copy POSIX test suite into ${D}${prefix}/testcases by manual
- cp -r testcases/open_posix_testsuite ${D}${prefix}/testcases
-
- # Makefile were configured in the build system
- find ${D}${prefix} -name Makefile | xargs -n 1 sed -i \
- -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \
- -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \
- -e 's@[^ ]*-ffile-prefix-map=[^ "]*@@g' \
- -e 's@[^ ]*--sysroot=[^ "]*@@g'
-
# The controllers memcg_stree test seems to cause us hangs and takes 900s
# (maybe we expect more regular output?), anyhow, skip it
sed -e '/^memcg_stress/d' -i ${D}${prefix}/runtest/controllers
@@ -86,10 +93,12 @@ RDEPENDS:${PN} = "\
e2fsprogs-mke2fs \
expect \
file \
+ findutils \
gawk \
gdb \
gzip \
iproute2 \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'iputils-ping6', '', d)} \
ldd \
libaio \
logrotate \
@@ -104,6 +113,8 @@ RDEPENDS:${PN} = "\
tar \
"
+RRECOMMENDS:${PN} += "kernel-module-loop"
+
FILES:${PN} += "${prefix}/* ${prefix}/runtest/* ${prefix}/scenario_groups/* ${prefix}/testcases/bin/* ${prefix}/testcases/bin/*/bin/* ${prefix}/testscripts/* ${prefix}/testcases/open_posix_testsuite/* ${prefix}/testcases/open_posix_testsuite/conformance/* ${prefix}/testcases/open_posix_testsuite/Documentation/* ${prefix}/testcases/open_posix_testsuite/functional/* ${prefix}/testcases/open_posix_testsuite/include/* ${prefix}/testcases/open_posix_testsuite/scripts/* ${prefix}/testcases/open_posix_testsuite/stress/* ${prefix}/testcases/open_posix_testsuite/tools/* ${prefix}/testcases/data/nm01/lib.a ${prefix}/lib/libmem.a"
# Avoid stripping some generated binaries otherwise some of the ltp tests such as ldd01 & nm01 fail
@@ -119,13 +130,11 @@ remove_broken_musl_sources() {
# sync with upstream
# https://github.com/linux-test-project/ltp/blob/master/ci/alpine.sh#L33
rm -rfv \
- 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 \
- utils/benchmark/ebizzy-0.3
+ testcases/kernel/syscalls/timer_create/timer_create03.c
}
do_patch[postfuncs] += "remove_broken_musl_sources"