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>
This commit is contained in:
Stephanos Ioannidis 2021-06-07 03:02:33 +09:00
parent 4ab0727f98
commit 1e21a30287
2 changed files with 19 additions and 0 deletions

View File

@ -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"

View File

@ -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