From be453d1be826b862d47e08663fd69eea9dd62730 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 7 Jan 2016 18:19:03 +0000 Subject: [PATCH 1/6] 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 extentions Disable tests specifically not building _yet_ on musl based systems Upstream-Status: Pending rt_tgsigqueueinfo fails with: rt_tgsigqueueinfo01.c: In function 'sigusr1_handler': rt_tgsigqueueinfo01.c:42:22: error: 'siginfo_t' {aka 'struct '} 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 [ 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 Signed-off-by: Petr Vorel --- Makefile | 5 +++++ testcases/kernel/Makefile | 5 ++++- testcases/kernel/sched/Makefile | 4 +++- testcases/kernel/syscalls/Makefile | 4 ++++ 4 files changed, 16 insertions(+), 2 deletions(-) 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/Makefile b/testcases/kernel/Makefile index 3319b3163..94ea362c8 100644 --- a/testcases/kernel/Makefile +++ b/testcases/kernel/Makefile @@ -49,13 +49,16 @@ SUBDIRS += connectors \ logging \ mem \ numa \ - pty \ sched \ security \ sound \ tracing \ uevents \ +ifneq ($(LIBC),musl) +SUBDIRS += pty +endif + ifeq ($(WITH_POWER_MANAGEMENT_TESTSUITE),yes) SUBDIRS += power_management endif 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 45a00cf7d..af5a591a0 100644 --- a/testcases/kernel/syscalls/Makefile +++ b/testcases/kernel/syscalls/Makefile @@ -29,6 +29,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 ioctl rt_tgsigqueueinfo +endif + ifeq ($(UCLIBC),1) FILTER_OUT_DIRS += profil endif -- 2.25.1