package/numactl: make available on all architectures
authorThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sun, 18 Apr 2021 16:23:58 +0000 (18:23 +0200)
committerYann E. MORIN <yann.morin.1998@free.fr>
Sat, 24 Apr 2021 20:07:45 +0000 (22:07 +0200)
commit4ed540ddf59bec4b389be44d7f42820d2466904f
tree79c76221c72003efdf37924fae23c79343e52b34
parent281b11105a55bf7da043b6cf3528a19ed736300b
package/numactl: make available on all architectures

Since its introduction in commit
b05e74ff92b6728369e1540fc0a2bd60025f2146 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>
package/numactl/0001-Do-not-stringify-SYMVER-symbols.patch [new file with mode: 0644]
package/numactl/Config.in
package/numactl/numactl.mk
package/rt-tests/Config.in