diff --git a/arch/Config.in.arc b/arch/Config.in.arc index 60b59f0319..836cfef638 100644 --- a/arch/Config.in.arc +++ b/arch/Config.in.arc @@ -1,3 +1,8 @@ +# Choise of atomic instructions presence +config BR2_ARC_ATOMIC_EXT + bool "Atomic extension (LLOCK/SCOND instructions)" + select BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS + config BR2_ARCH default "arc" if BR2_arcle default "arceb" if BR2_arceb diff --git a/package/Makefile.in b/package/Makefile.in index 02f6e3d62c..106a04cc8d 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -102,6 +102,10 @@ ifeq ($(BR2_xtensa),y) TARGET_ABI += -mlongcalls -mtext-section-literals endif +ifeq ($(BR2_arc)$(BR2_ARC_ATOMIC_EXT),yy) +TARGET_ABI += -matomic +endif + STAGING_SUBDIR = usr/$(GNU_TARGET_NAME)/sysroot STAGING_DIR = $(HOST_DIR)/$(STAGING_SUBDIR) diff --git a/toolchain/toolchain-common.in b/toolchain/toolchain-common.in index 2df8ddb637..48ba8400ca 100644 --- a/toolchain/toolchain-common.in +++ b/toolchain/toolchain-common.in @@ -44,6 +44,10 @@ config BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS config BR2_TOOLCHAIN_HAS_SSP bool +config BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS + bool + default y if !BR2_arc + config BR2_ENABLE_LOCALE_PURGE bool "Purge unwanted locales" help