diff options
author | Alexey Brodkin <Alexey.Brodkin@synopsys.com> | 2017-04-19 20:48:57 +0300 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2017-05-04 22:51:58 +0200 |
commit | 64c67e07fa40e1af1a9dbba907a0117765b16c16 (patch) | |
tree | dd3b167e14069f73ba4d62464b98dcda222553eb | |
parent | a497a9fd6cdb518572282b1478279f476f870fb7 (diff) | |
download | buildroot-64c67e07fa40e1af1a9dbba907a0117765b16c16.tar.gz buildroot-64c67e07fa40e1af1a9dbba907a0117765b16c16.zip |
uclibc: arc: Disable usage of atomic ops if hardware has no LLSC
Since uClibc-ng v1.0.20 we can force libc to either use llock/scond
instructions for atomic ops or if those are missing use kernel-assisted
emulation. By default atomics are used so we disable that feature in
libc if we build for a target without LLSC.
This allows us to build and use NPTL on ARC750 for example which was not
possible before.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-rw-r--r-- | package/uclibc/uclibc.mk | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/package/uclibc/uclibc.mk b/package/uclibc/uclibc.mk index f47b3ec3bf..bbf389e327 100644 --- a/package/uclibc/uclibc.mk +++ b/package/uclibc/uclibc.mk @@ -101,6 +101,12 @@ define UCLIBC_ARC_PAGE_SIZE_CONFIG $(call KCONFIG_ENABLE_OPT,$(UCLIBC_ARC_PAGE_SIZE),$(@D)/.config) endef +ifeq ($(BR2_ARC_ATOMIC_EXT),) +define UCLIBC_ARC_ATOMICS_CONFIG + $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_HAS_ATOMICS,$(@D)/.config) +endef +endif + endif # arc # @@ -395,6 +401,7 @@ define UCLIBC_KCONFIG_FIXUP_CMDS $(UCLIBC_BINFMT_CONFIG) $(UCLIBC_ARC_TYPE_CONFIG) $(UCLIBC_ARC_PAGE_SIZE_CONFIG) + $(UCLIBC_ARC_ATOMICS_CONFIG) $(UCLIBC_ARM_ABI_CONFIG) $(UCLIBC_ARM_BINFMT_FLAT) $(UCLIBC_ARM_NO_CONTEXT_FUNCS) |