diff options
3 files changed, 21 insertions, 116 deletions
diff --git a/meta/recipes-extended/ltp/ltp/0001-Add-more-musl-exclusions.patch b/meta/recipes-extended/ltp/ltp/0001-Add-more-musl-exclusions.patch deleted file mode 100644 index f2fc8ee9588..00000000000 --- a/meta/recipes-extended/ltp/ltp/0001-Add-more-musl-exclusions.patch +++ /dev/null @@ -1,32 +0,0 @@ -From ad8e73306cb8293f7d32841e1599fd9048801f1f Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Fri, 20 Dec 2019 13:06:05 +0100 -Subject: [PATCH] Add more musl exclusions - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> -[ pvorel: rebase for 20200515: enable accept4_01 ] -[ pvorel: rebase for 20200120: enable fanotify13, fanotify15, setxattr03 ] -Signed-off-by: Petr Vorel <petr.vorel@gmail.com> ---- - testcases/kernel/syscalls/timer_create/Makefile | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/testcases/kernel/syscalls/timer_create/Makefile b/testcases/kernel/syscalls/timer_create/Makefile -index ada241fe1..d454b01e7 100644 ---- a/testcases/kernel/syscalls/timer_create/Makefile -+++ b/testcases/kernel/syscalls/timer_create/Makefile -@@ -5,6 +5,10 @@ top_srcdir ?= ../../../.. - - include $(top_srcdir)/include/mk/testcases.mk - -+ifeq ($(LIBC),musl) -+FILTER_OUT_MAKE_TARGETS := timer_create01 timer_create03 -+endif -+ - CPPFLAGS += -D_GNU_SOURCE -I$(abs_srcdir)/../include - - LDLIBS += -lpthread -lrt --- -2.26.2 - diff --git a/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch b/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch deleted file mode 100644 index 29b2bf7e41d..00000000000 --- a/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 74958c3e341de713b596c8cfd35b2391d6c7bc09 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 7 Jan 2016 18:19:03 +0000 -Subject: [PATCH] build: Add option to select libc implementation - -There are more than glibc for C library implementation available on -linux now a days, uclibc cloaked like glibc but musl e.g. is very -different and does not implement all GNU extensions. - -Disable tests specifically not building _yet_ on musl based systems - -Upstream-Status: Pending (pvorel: this is not going to be fixed, instead -each test needs to be fixed) - -rt_tgsigqueueinfo fails with: -rt_tgsigqueueinfo01.c: In function 'sigusr1_handler': -rt_tgsigqueueinfo01.c:42:22: error: 'siginfo_t' {aka 'struct <anonymous>'} has no member named '_sifields'; did you mean '__si_fields'? - 42 | sigval_rcv = uinfo->_sifields._rt.SI_SIGVAL.sival_ptr; - | ^~~~~~~~~ - | __si_fields - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -[ pvorel: rebase for 20200515: enable pty, ioctl ] -[ pvorel: rebase for 20200120: enable mallopt, profil, rpc016, -rt_sigsuspend, sbrk_mutex, setdomainname, sethostname, sigsuspend, -testpi-3, testpi-5, testpi-6, ustat; move rt_tgsigqueueinfo -from 0006-rt_tgsigqueueinfo-disable-test-on-musl.patch ] -Signed-off-by: Petr Vorel <petr.vorel@gmail.com> ---- - Makefile | 5 +++++ - testcases/kernel/sched/Makefile | 4 +++- - testcases/kernel/syscalls/Makefile | 4 ++++ - 3 files changed, 12 insertions(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 768ca4606..e9d679a71 100644 ---- a/Makefile -+++ b/Makefile -@@ -41,6 +41,11 @@ vpath %.mk $(top_srcdir)/mk:$(top_srcdir)/mk/include - UCLINUX ?= 0 - export UCLINUX - -+# System C library implementation (glibc,uclibc,musl etc.) -+# default to glibc if not set -+LIBC ?= glibc -+export LIBC -+ - # CLEAN_TARGETS: Targets which exist solely in clean. - # COMMON_TARGETS: Targets which exist in all, clean, and install. - # INSTALL_TARGETS: Targets which exist in clean and install (contains -diff --git a/testcases/kernel/sched/Makefile b/testcases/kernel/sched/Makefile -index 6a57d79ee..74bb93370 100644 ---- a/testcases/kernel/sched/Makefile -+++ b/testcases/kernel/sched/Makefile -@@ -23,5 +23,7 @@ - top_srcdir ?= ../../.. - - include $(top_srcdir)/include/mk/env_pre.mk -- -+ifeq ($(LIBC),musl) -+ FILTER_OUT_DIRS += process_stress -+endif - include $(top_srcdir)/include/mk/generic_trunk_target.mk -diff --git a/testcases/kernel/syscalls/Makefile b/testcases/kernel/syscalls/Makefile -index c6dc8d9e7..aa50761ea 100644 ---- a/testcases/kernel/syscalls/Makefile -+++ b/testcases/kernel/syscalls/Makefile -@@ -15,6 +15,10 @@ FILTER_OUT_DIRS += capget capset chmod chown clone fork getcontext llseek \ - mincore mprotect nftw profil remap_file_pages sbrk - endif - -+ifeq ($(LIBC),musl) -+FILTER_OUT_DIRS += confstr fmtmsg getcontext rt_tgsigqueueinfo -+endif -+ - ifeq ($(UCLIBC),1) - FILTER_OUT_DIRS += profil - endif --- -2.26.2 - diff --git a/meta/recipes-extended/ltp/ltp_20210121.bb b/meta/recipes-extended/ltp/ltp_20210121.bb index d98c9fdc250..7c4b56b76cc 100644 --- a/meta/recipes-extended/ltp/ltp_20210121.bb +++ b/meta/recipes-extended/ltp/ltp_20210121.bb @@ -34,9 +34,7 @@ PR = "r4" HASHEQUIV_HASH_VERSION .= ".4" SRC_URI = "git://github.com/linux-test-project/ltp.git \ - file://0001-build-Add-option-to-select-libc-implementation.patch \ file://0007-Fix-test_proc_kill-hanging.patch \ - file://0001-Add-more-musl-exclusions.patch \ file://0001-Remove-OOM-tests-from-runtest-mm.patch \ file://determinism.patch \ file://0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch \ @@ -78,7 +76,7 @@ do_install(){ find ${D}${prefix} -name Makefile | xargs -n 1 sed -i \ -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \ -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \ - -e 's@[^ ]*--sysroot=[^ "]*@@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 @@ -121,6 +119,26 @@ FILES_${PN} += "${prefix}/* ${prefix}/runtest/* ${prefix}/scenario_groups/* ${pr INHIBIT_PACKAGE_STRIP_FILES = "${prefix}/testcases/bin/nm01 ${prefix}/testcases/bin/ldd01" INSANE_SKIP_${PN} += "already-stripped staticdev" +remove_broken_musl_sources() { + [ "${TCLIBC}" = "musl" ] || return 0 + + cd ${S} + echo "WARNING: remove unsupported tests (until they're fixed)" + + # sync with upstream + # https://github.com/linux-test-project/ltp/blob/master/travis/alpine.sh#L33 + rm -rfv \ + testcases/kernel/sched/process_stress/process.c \ + 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 +} +do_patch[postfuncs] += "remove_broken_musl_sources" + # Avoid file dependency scans, as LTP checks for things that may or may not # exist on the running system. For instance it has specific checks for # csh and ksh which are not typically part of OpenEmbedded systems (but |