--- /dev/null
+From c6920f97be02ca3fba9320b043acd578ce4c62d8 Mon Sep 17 00:00:00 2001
+From: Alexey Brodkin <abrodkin@synopsys.com>
+Date: Mon, 10 Nov 2014 10:00:13 +0300
+Subject: [PATCH] Makefile: allow building selected tests with non-NPTL
+ toolchain
+
+Some architectures are still stuck with non-NPTL toolchains.
+These are for example ARC, Blackfin, Xtensa etc.
+
+Still rt-tests are very good benchmarks and it would be good to enable use of
+at least selected (those that will be built) tests on those architectures.
+
+This change makes it possible to only build subset of tests that don't require
+NPTL calls.
+
+By default behavior is not modified - all tests are built, but if one wants
+to build with non-NPTL toolchain just add "HAVE_NPTL=no" in command line
+or modify "HAVE_NPTL" variable right in Makefile and execute "make".
+
+This patch was submitted upstream:
+https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg762958.html
+so as soon as it is accepted with the next version bump this patch should be
+removed.
+
+Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+Cc: Vineet Gupta <vgupta@synopsys.com>
+Cc: Clark Williams <clark.williams@gmail.com>
+---
+ Makefile | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 318a5c6..675edf7 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,8 +1,13 @@
+ VERSION_STRING = 0.89
+
+-sources = cyclictest.c signaltest.c pi_stress.c rt-migrate-test.c \
+- ptsematest.c sigwaittest.c svsematest.c pmqtest.c sendme.c \
+- pip_stress.c hackbench.c
++HAVE_NPTL ?= yes
++
++ifeq ($(HAVE_NPTL),yes)
++sources = cyclictest.c pi_stress.c pip_stress.c pmqtest.c rt-migrate-test.c
++endif
++
++sources += signaltest.c ptsematest.c sigwaittest.c svsematest.c sendme.c \
++ hackbench.c
+
+ TARGETS = $(sources:.c=)
+
+--
+1.9.3
+
config BR2_PACKAGE_RT_TESTS
bool "rt-tests"
- # no _tid field in 'struct sigevent'
- depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
+ depends on BR2_TOOLCHAIN_HAS_THREADS
help
Set of utilities for testing the real-time behaviour of a
Linux system.
depends on BR2_TOOLCHAIN_EXTERNAL_UCLIBC
depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
-comment "rt-tests needs a toolchain w/ NPTL"
- depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
+comment "rt-tests needs a toolchain w/ threads"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
RT_TESTS_DEPENDENCIES = python
endif
+ifeq ($(BR2_TOOLCHAIN_HAS_THREADS_NPTL),)
+RT_TESTS_HAVE_NPTL=no
+endif
+
define RT_TESTS_BUILD_CMDS
$(MAKE) -C $(@D) \
CC="$(TARGET_CC)" \
+ HAVE_NPTL=$(RT_TESTS_HAVE_NPTL) \
CFLAGS="$(TARGET_CFLAGS)" \
prefix=/usr
endef
define RT_TESTS_INSTALL_TARGET_CMDS
$(MAKE) -C $(@D) \
+ HAVE_NPTL=$(RT_TESTS_HAVE_NPTL) \
DESTDIR="$(TARGET_DIR)" \
prefix=/usr \
$(if $(BR2_PACKAGE_PYTHON),HASPYTHON=1 PYLIB=/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages/) \