blob: b1a99959d374de2253cafac1e40ce0f863d6798e [file] [log] [blame]
From be453d1be826b862d47e08663fd69eea9dd62730 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 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 <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 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>
Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
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