Introduce an additional Kconfig check to only offer the option if the
compiler supports -fsanitize=undefined.
We no longer use Travis CI, so the original motivation for not enabling
UBSAN might no longer present. Regardless, the option won't be present in
the first place if the compiler doesn't support -fsanitize=undefined.
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
config CC_SPLIT_SECTIONS
bool
+# Compiler supports -fsanitize=undefined
+config CC_HAS_UBSAN
+ def_bool $(cc-option,-fsanitize=undefined)
+
# Set code alignment.
#
# Allow setting on a boolean basis, and then convert such selection to an
config UBSAN
bool "Undefined behaviour sanitizer"
- depends on HAS_UBSAN
+ depends on HAS_UBSAN && CC_HAS_UBSAN
help
Enable undefined behaviour sanitizer. It uses compiler to insert code
snippets so that undefined behaviours in C are detected during runtime.
# Explicit option choices not subject to regular RANDCONFIG
CONFIG_GCOV_FORMAT_AUTODETECT=y
-CONFIG_UBSAN=n