summaryrefslogtreecommitdiffstats
path: root/package/uclibc
diff options
context:
space:
mode:
Diffstat (limited to 'package/uclibc')
-rw-r--r--package/uclibc/uclibc.mk11
1 files changed, 11 insertions, 0 deletions
diff --git a/package/uclibc/uclibc.mk b/package/uclibc/uclibc.mk
index e3e45f7bcd..1ccdfbbfc1 100644
--- a/package/uclibc/uclibc.mk
+++ b/package/uclibc/uclibc.mk
@@ -88,6 +88,16 @@ define UCLIBC_ARM_BINFMT_FLAT
endef
endif
+# context functions are written with ARM instructions. Therefore, if
+# we are using a Thumb2-only platform (i.e, Cortex-M), they must be
+# disabled. Thumb1 platforms are not a problem, since they all also
+# support the ARM instructions.
+ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB2):$(BR2_ARM_CPU_HAS_ARM),y:)
+define UCLIBC_ARM_NO_CONTEXT_FUNCS
+ $(call KCONFIG_DISABLE_OPT,UCLIBC_HAS_CONTEXT_FUNCS,$(@D)/.config)
+endef
+endif
+
endif # arm
#
@@ -361,6 +371,7 @@ define UCLIBC_KCONFIG_FIXUP_CMDS
$(UCLIBC_ARC_PAGE_SIZE_CONFIG)
$(UCLIBC_ARM_ABI_CONFIG)
$(UCLIBC_ARM_BINFMT_FLAT)
+ $(UCLIBC_ARM_NO_CONTEXT_FUNCS)
$(UCLIBC_MIPS_ABI_CONFIG)
$(UCLIBC_MIPS_ISA_CONFIG)
$(UCLIBC_SH_TYPE_CONFIG)
OpenPOWER on IntegriCloud