| 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 |
| |