kumquat-buildroot/package/rt-tests/Config.in
Thomas Petazzoni 4ed540ddf5 package/numactl: make available on all architectures
Since its introduction in commit
b05e74ff92 in 2013, numactl has had an
explicit list of architectures that it supports. Interestingly, this
list does not include ARM, and now that rt-tests unconditionally needs
numactl, it meant the rt-tests package was no longer available on ARM.

Further investigation revealed that there is nothing in recent
versions of numactl that appears to be architecture-specific. It does
build with all of Buildroot toolchains currently used in the
autobuilders.

The only necessary changes are:

 * Exclude no-MMU architectures, as madvise() is used in the code
   base, and this is not available on no-MMU architectures.

 * Make sure to use -latomic when needed, as some atomic operations
   are used.

 * Backport a patch that fixes the .symver usage, which only affects
   really old gcc versions: only the old ARM Sourcery toolchain was
   affected by this. Newer gcc versions support the gcc "symver"
   attribute, so that the code that directly emits the assembly
   .symver directive is not invoked.

With these changes, numactl builds successfully on all our supported
toolchains.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-04-24 22:07:45 +02:00

36 lines
1.5 KiB
Plaintext

config BR2_PACKAGE_RT_TESTS
bool "rt-tests"
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 # deadline scheduler syscall
depends on BR2_USE_MMU # fork(), numactl
depends on !BR2_STATIC_LIBS # dlopen
depends on !BR2_TOOLCHAIN_USES_MUSL # cyclictest
select BR2_PACKAGE_NUMACTL
help
Set of utilities for testing the real-time behaviour of a
Linux system.
All tools are simple C programs with no dependencies, except
the hwlatdetect utility, which is a Python script and
therefore requires the Python interpreter. It will only be
installed if a Python interpreter has been selected in the
Buildroot configuration.
Note that this package requires a toolchain built with the
NPTL implementation of the pthread API (this is always the
case with glibc toolchains, but may not necessarily be the
case with uClibc toolchains, since the thread implementation
is configurable).
https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/rt-tests
comment "rt-tests may not work on MIPS with an external uClibc toolchain"
depends on BR2_PACKAGE_RT_TESTS
depends on BR2_TOOLCHAIN_EXTERNAL_UCLIBC
depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
comment "rt-tests needs a uClibc or glibc toolchain w/ NPTL, headers >= 3.14, dynamic library"
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \
|| BR2_TOOLCHAIN_USES_MUSL || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
depends on BR2_USE_MMU