summaryrefslogtreecommitdiff
path: root/package/tremor
diff options
context:
space:
mode:
authorJörg Krause <joerg.krause@embedded.rocks>2016-11-15 21:46:58 +0100
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2016-11-15 23:29:27 +0100
commit0ee4deb9618f961e12e340d527ed0e4fb1ae4829 (patch)
tree18d7e0987824ea4db0312a90d941dc057fa0e10c /package/tremor
parentca99d0ea925e5a8e42bd270402b0171a39d1d955 (diff)
package/tremor: fix build with Thumb only ARM archs
Some ARM architectures like ARMv7-M only supports Thumb instructions, but the tremor build configuration enables ARM assembly code unconditionally for all arm triplets by defining _ARM_ASSEM_. We are overriding this by undefining this macro for ARM architectures not supporting ARM instructions. Fixes: http://autobuild.buildroot.net/results/054/054f1c77b0e5d46b2dc53769469c0ed03e6b79ef/ http://autobuild.buildroot.net/results/ba1/ba1760b1428584f70e44dbffb8218ff3ee55e702/ http://autobuild.buildroot.net/results/2a6/2a687853cf0bc832fef29f88de0d85bd495fe87d/ http://autobuild.buildroot.net/results/cb6/cb6c560bf31834aadbe3d13a118b31ea8190159b/ Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/tremor')
-rw-r--r--package/tremor/tremor.mk12
1 files changed, 10 insertions, 2 deletions
diff --git a/package/tremor/tremor.mk b/package/tremor/tremor.mk
index 97b0ce36e..2a791b672 100644
--- a/package/tremor/tremor.mk
+++ b/package/tremor/tremor.mk
@@ -16,9 +16,17 @@ TREMOR_DEPENDENCIES = libogg
# tremor has ARM assembly code that cannot be compiled in Thumb2 mode,
# so we must force the traditional ARM mode.
+# However, some ARM architectures like ARNv7-M only supports Thumb
+# instructions, but the tremor build configuration enables ARM assembly
+# code unconditionally for all arm triplets by defining _ARM_ASSEM_.
+# We are overriding this by undefining this macro for the ARM
+# architectures not supporting ARM instructions.
ifeq ($(BR2_arm),y)
-TREMOR_CONF_ENV = \
- CFLAGS="$(TARGET_CFLAGS) -marm"
+ifeq ($(BR2_ARM_CPU_HAS_ARM),y)
+TREMOR_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -marm"
+else
+TREMOR_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -U_ARM_ASSEM_"
+endif
endif
$(eval $(autotools-package))