boost: do not allow selecting fiber module on mips32/mips64
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 22 Nov 2017 22:25:40 +0000 (23:25 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 22 Nov 2017 22:25:40 +0000 (23:25 +0100)
The fiber module uses the cpu_relax() macro, for which the MIPS
implementation uses the "pause" instruction, only available since
mips32r2 and mips64r2. In order to avoid build failures on
mips32/mips64, we disallow the selection of the fiber module for such
architecture variants.

This solution was suggested by Arnout Vandecappelle.

Fixes:

  http://autobuild.buildroot.net/results/0439790b6f472e3d4b2d5431a05aa5b408f62e56/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/boost/Config.in

index 861093224894db19a34f48e2bf191a338ab32608..8925982ba89baf0a4449e040a141ffb9711f5196 100644 (file)
@@ -101,6 +101,9 @@ config BR2_PACKAGE_BOOST_EXCEPTION
 config BR2_PACKAGE_BOOST_FIBER
        bool "boost-fiber"
        depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
+       # mips support uses the "pause" instruction, only available
+       # since mips32r2/mips64r2.
+       depends on !BR2_MIPS_CPU_MIPS32 && !BR2_MIPS_CPU_MIPS64
        help
          C++11 userland threads library.