package/boost: context module needs ARM instructions on ARM
authorRomain Naour <romain.naour@gmail.com>
Tue, 2 Aug 2016 17:01:04 +0000 (19:01 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 2 Aug 2016 20:49:01 +0000 (22:49 +0200)
The boost-context module contains ARM assembly code, which uses ARM
instructions. Therefore, on Thumb-2 only platforms (such as Cortex-M),
the following build error occurs:

libs/context/src/asm/make_arm_aapcs_elf_gas.S: Assembler messages:
libs/context/src/asm/make_arm_aapcs_elf_gas.S:33: Error: unshifted register required -- `bic a1,a1,#15'
libs/context/src/asm/make_arm_aapcs_elf_gas.S:42: Error: immediate value out of range

To avoid this error, we make the boost-context module depend on
BR2_ARM_CPU_HAS_ARM.

Fixes:

  http://autobuild.buildroot.net/results/8f6770b59a343b9f710e9363b43227ee9f026660

Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Thomas: use BR2_ARM_CPU_HAS_ARM instead of a dependency on
!BR2_ARM_CPU_ARMV7M.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/boost/Config.in

index 3a27ae25fb4ce064bf86bd6f3a5a1107d50522a0..403bbf3100ae996ef54eed875ae4b07fab9de31b 100644 (file)
@@ -65,8 +65,8 @@ config BR2_PACKAGE_BOOST_CONTAINER
 # supported, but it doesn't build.
 config BR2_PACKAGE_BOOST_CONTEXT
        bool "boost-context"
-       depends on (BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || BR2_mipsel \
-                       || BR2_powerpc || BR2_x86_64)
+       depends on ((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \
+               BR2_i386 || BR2_mips || BR2_mipsel || BR2_powerpc || BR2_x86_64
 
 config BR2_PACKAGE_BOOST_COROUTINE
        bool "boost-coroutine"