mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 00:20:08 +00:00
ltp: Replace musl patches with do_patch[postfuncs]
MUSL related build fixes are not going to be upstreamed. They just not compile broken files, thus replace them with upstream solution for CI: just deleting files for musl (easier to maintain). (From OE-Core rev: c781677fd5f4e15bde17114468d9f66ba5dc38a2) Signed-off-by: Petr Vorel <petr.vorel@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
3f657a908e
commit
efbef1daa3
@@ -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
|
|
||||||
|
|
||||||
-81
@@ -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
|
|
||||||
|
|
||||||
@@ -34,9 +34,7 @@ PR = "r4"
|
|||||||
HASHEQUIV_HASH_VERSION .= ".4"
|
HASHEQUIV_HASH_VERSION .= ".4"
|
||||||
|
|
||||||
SRC_URI = "git://github.com/linux-test-project/ltp.git \
|
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://0007-Fix-test_proc_kill-hanging.patch \
|
||||||
file://0001-Add-more-musl-exclusions.patch \
|
|
||||||
file://0001-Remove-OOM-tests-from-runtest-mm.patch \
|
file://0001-Remove-OOM-tests-from-runtest-mm.patch \
|
||||||
file://determinism.patch \
|
file://determinism.patch \
|
||||||
file://0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch \
|
file://0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch \
|
||||||
@@ -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"
|
INHIBIT_PACKAGE_STRIP_FILES = "${prefix}/testcases/bin/nm01 ${prefix}/testcases/bin/ldd01"
|
||||||
INSANE_SKIP_${PN} += "already-stripped staticdev"
|
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
|
# 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
|
# exist on the running system. For instance it has specific checks for
|
||||||
# csh and ksh which are not typically part of OpenEmbedded systems (but
|
# csh and ksh which are not typically part of OpenEmbedded systems (but
|
||||||
|
|||||||
Reference in New Issue
Block a user