From 4ab0727f98fe4ec104912c243cc20599116357f8 Mon Sep 17 00:00:00 2001 From: Stephanos Ioannidis Date: Mon, 7 Jun 2021 18:49:23 +0900 Subject: packages: gcc: Add missing milestones This commit adds the missing gcc milestones 9 and 10, so that the helper symbols `GCC_9_or_later` and `GCC_10_or_later` can be used. Signed-off-by: Stephanos Ioannidis diff --git a/packages/gcc/package.desc b/packages/gcc/package.desc index 0ee344e..186f1a3 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' -- cgit v0.10.2-6-g49f6 From 1e21a30287d8d50d8425ce4debf1cf493371a6cf Mon Sep 17 00:00:00 2001 From: Stephanos Ioannidis Date: Mon, 7 Jun 2021 03:02:33 +0900 Subject: 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 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 -- cgit v0.10.2-6-g49f6