diff --git a/config/cc/gcc.in b/config/cc/gcc.in index 01d72536..8180b2a6 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/packages/gcc/package.desc b/packages/gcc/package.desc index 0ee344e2..186f1a36 100644 --- a/packages/gcc/package.desc +++ b/packages/gcc/package.desc @@ -2,5 +2,5 @@ repository='svn svn://gcc.gnu.org/svn/gcc' mirrors='$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})' relevantpattern='4.*|. *|.' origin='GNU' -milestones='4.8 4.9 5 6 7 8 11' +milestones='4.8 4.9 5 6 7 8 9 10 11' archive_formats='.tar.xz .tar.gz' diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh index cccd654b..c505314e 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