Merge tag 'x86_fpu_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
[linux-2.6-microblaze.git] / lib / Kconfig.ubsan
index 9292110..774315d 100644 (file)
@@ -26,9 +26,20 @@ config UBSAN_TRAP
          the system. For some system builders this is an acceptable
          trade-off.
 
+config UBSAN_KCOV_BROKEN
+       def_bool KCOV && CC_HAS_SANCOV_TRACE_PC
+       depends on CC_IS_CLANG
+       depends on !$(cc-option,-Werror=unused-command-line-argument -fsanitize=bounds -fsanitize-coverage=trace-pc)
+       help
+         Some versions of clang support either UBSAN or KCOV but not the
+         combination of the two.
+         See https://bugs.llvm.org/show_bug.cgi?id=45831 for the status
+         in newer releases.
+
 config UBSAN_BOUNDS
        bool "Perform array index bounds checking"
        default UBSAN
+       depends on !UBSAN_KCOV_BROKEN
        help
          This option enables detection of directly indexed out of bounds
          array accesses, where the array size is known at compile time.
@@ -63,7 +74,7 @@ config UBSAN_SANITIZE_ALL
 config UBSAN_ALIGNMENT
        bool "Enable checks for pointers alignment"
        default !HAVE_EFFICIENT_UNALIGNED_ACCESS
-       depends on !X86 || !COMPILE_TEST
+       depends on !UBSAN_TRAP
        help
          This option enables the check of unaligned memory accesses.
          Enabling this option on architectures that support unaligned