summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephanos Ioannidis <root@stephanos.io>2021-06-06 18:02:33 (GMT)
committerStephanos Ioannidis <root@stephanos.io>2021-06-07 17:13:45 (GMT)
commit1e21a30287d8d50d8425ce4debf1cf493371a6cf (patch)
tree5b4c270629c046bfadda993bc9aa86af888d5e3d
parent4ab0727f98fe4ec104912c243cc20599116357f8 (diff)
gcc: Add CT_CC_GCC_TM_CLONE_REGISTRY config
This commit adds a new gcc config `CT_CC_GCC_TM_CLONE_REGISTRY` that enables the GCC transactional memory clone registry feature for libgcc. Note that the gcc option to control this feature is only available in gcc 10 and above. (see gcc commit 5a4602805eb3ebddbc935b102481e63bffc7c5e6) Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
-rw-r--r--config/cc/gcc.in7
-rw-r--r--scripts/build/cc/gcc.sh12
2 files changed, 19 insertions, 0 deletions
diff --git a/config/cc/gcc.in b/config/cc/gcc.in
index 01d7253..8180b2a 100644
--- a/config/cc/gcc.in
+++ b/config/cc/gcc.in
@@ -279,6 +279,13 @@ config CC_CXA_ATEXIT
If you get the missing symbol "__cxa_atexit" when building C++ programs,
you might want to try disabling this option.
+config CC_GCC_TM_CLONE_REGISTRY
+ bool
+ prompt "Use TM clone registry"
+ depends on GCC_10_or_later
+ help
+ Enable GCC transactional memory clone registry in libgcc.
+
config CC_GCC_DISABLE_PCH
bool
prompt "Do not build PCH"
diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh
index cccd654..c505314 100644
--- a/scripts/build/cc/gcc.sh
+++ b/scripts/build/cc/gcc.sh
@@ -396,6 +396,12 @@ do_gcc_core_backend() {
extra_config+=("--disable-__cxa_atexit")
fi
+ if [ "${CT_CC_GCC_TM_CLONE_REGISTRY}" = "y" ]; then
+ extra_config+=("--enable-tm-clone-registry")
+ else
+ extra_config+=("--disable-tm-clone-registry")
+ fi
+
if [ -n "${CT_CC_GCC_ENABLE_CXX_FLAGS}" \
-a "${mode}" = "baremetal" ]; then
extra_config+=("--enable-cxx-flags=${CT_CC_GCC_ENABLE_CXX_FLAGS}")
@@ -998,6 +1004,12 @@ do_gcc_backend() {
extra_config+=("--disable-__cxa_atexit")
fi
+ if [ "${CT_CC_GCC_TM_CLONE_REGISTRY}" = "y" ]; then
+ extra_config+=("--enable-tm-clone-registry")
+ else
+ extra_config+=("--disable-tm-clone-registry")
+ fi
+
if [ -n "${CT_CC_GCC_ENABLE_CXX_FLAGS}" ]; then
extra_config+=("--enable-cxx-flags=${CT_CC_GCC_ENABLE_CXX_FLAGS}")
fi