diff options
-rw-r--r-- | config/cc/gcc.in | 6 | ||||
-rw-r--r-- | config/cc/gcc.in.2 | 14 | ||||
-rw-r--r-- | scripts/build/cc/gcc.sh | 10 |
3 files changed, 27 insertions, 3 deletions
diff --git a/config/cc/gcc.in b/config/cc/gcc.in index 7e2250fc..50518044 100644 --- a/config/cc/gcc.in +++ b/config/cc/gcc.in @@ -368,6 +368,7 @@ config CC_GCC_4_8 select CC_GCC_HAS_BUILD_ID select CC_GCC_HAS_LNK_HASH_STYLE select CC_GCC_HAS_LIBQUADMATH + select CC_GCC_HAS_LIBSANITIZER select CC_SUPPORT_GOLANG config CC_GCC_4_8_or_later @@ -385,6 +386,7 @@ config CC_GCC_4_9 select CC_GCC_HAS_BUILD_ID select CC_GCC_HAS_LNK_HASH_STYLE select CC_GCC_HAS_LIBQUADMATH + select CC_GCC_HAS_LIBSANITIZER select CC_SUPPORT_GOLANG config CC_GCC_4_9_or_later @@ -402,6 +404,7 @@ config CC_GCC_latest select CC_GCC_HAS_BUILD_ID select CC_GCC_HAS_LNK_HASH_STYLE select CC_GCC_HAS_LIBQUADMATH + select CC_GCC_HAS_LIBSANITIZER config CC_GCC_HAS_GRAPHITE bool @@ -482,6 +485,9 @@ config CC_GCC_USE_LIBELF config CC_GCC_HAS_LIBQUADMATH bool +config CC_GCC_HAS_LIBSANITIZER + bool + config CC_VERSION string # Don't remove next line diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2 index ef976982..1b9515c8 100644 --- a/config/cc/gcc.in.2 +++ b/config/cc/gcc.in.2 @@ -143,6 +143,20 @@ config CC_GCC_LIBQUADMATH The default is 'N'. Say 'Y' if you need it, and report success/failure. +config CC_GCC_LIBSANITIZER + bool + prompt "Compile libsanitizer" + depends on CC_GCC_HAS_LIBSANITIZER + depends on THREADS_NATIVE + depends on ! LIBC_uClibc # Currently lacks required headers (like netrom.h) + help + libsanitizer is a library which provides run-time sanitising of either + or both of: + - memory access patterns (out-of-bonds, use-after-free) + - racy data accesses (in multi-threaded programs) + + The default is 'N'. Say 'Y' if you need it, and report success/failure. + #----------------------------------------------------------------------------- comment "Misc. obscure options." diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh index 173ddbfa..9dbc41ee 100644 --- a/scripts/build/cc/gcc.sh +++ b/scripts/build/cc/gcc.sh @@ -657,9 +657,6 @@ do_cc_backend() { if [ "${CT_THREADS}" = "none" ]; then extra_config+=(--disable-libatomic) fi - if [ "${CT_THREADS}" != "nptl" ]; then - extra_config+=(--disable-libsanitizer) - fi fi if [ "${CT_CC_GCC_LIBMUDFLAP}" = "y" ]; then extra_config+=(--enable-libmudflap) @@ -685,6 +682,13 @@ do_cc_backend() { extra_config+=(--disable-libquadmath-support) fi fi + if [ "${CT_CC_GCC_HAS_LIBSANITIZER}" = "y" ]; then + if [ "${CT_CC_GCC_LIBSANITIZER}" = "y" ]; then + extra_config+=(--enable-libsanitizer) + else + extra_config+=(--disable-libsanitizer) + fi + fi final_LDFLAGS+=("${ldflags}") |