diff options
Diffstat (limited to 'meta/recipes-extended/ltp')
-rw-r--r-- | meta/recipes-extended/ltp/ltp/0001-Add-__clear_cache-declaration-for-clang.patch | 32 | ||||
-rw-r--r-- | meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch | 9 | ||||
-rw-r--r-- | meta/recipes-extended/ltp/ltp/0002-lib-fix-MemAvailable-parsing.patch | 36 | ||||
-rw-r--r-- | meta/recipes-extended/ltp/ltp/0003-lapi-rtnetlink.h-Fix-include-guards.patch | 37 | ||||
-rw-r--r-- | meta/recipes-extended/ltp/ltp/0004-lapi-Create-if_addr.h-and-reuse-it-in-rtnetlink.h.patch | 58 | ||||
-rw-r--r-- | meta/recipes-extended/ltp/ltp/0005-lapi-if_addr.h-Define-IFA_FLAGS.patch | 60 | ||||
-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" |