diff options
Diffstat (limited to 'lib/Kconfig.ubsan')
-rw-r--r-- | lib/Kconfig.ubsan | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/Kconfig.ubsan b/lib/Kconfig.ubsan new file mode 100644 index 0000000000..09f4a0ab8a --- /dev/null +++ b/lib/Kconfig.ubsan @@ -0,0 +1,35 @@ +# SPDX-License-Identifier: GPL-2.0-only +config ARCH_HAS_UBSAN_SANITIZE_ALL + bool + +config UBSAN + bool "Undefined behaviour sanity checker" + help + This option enables undefined behaviour sanity checker + Compile-time instrumentation is used to detect various undefined + behaviours in runtime. + +config UBSAN_SANITIZE_ALL + bool "Enable instrumentation for all of barebox" + depends on UBSAN + depends on ARCH_HAS_UBSAN_SANITIZE_ALL + default y + help + This option activates instrumentation for all of barebox. + If you don't enable this option, you have to explicitly specify + UBSAN_SANITIZE := y for the files/directories you want to check for UB. + Enabling this option will get barebox image size increased + significantly. + +config UBSAN_NO_ALIGNMENT + bool "Disable checking of pointers alignment" + depends on UBSAN + default y if HAVE_EFFICIENT_UNALIGNED_ACCESS + help + This option disables the check of unaligned memory accesses. + This option should be used when building allmodconfig. + Disabling this option on architectures that support unaligned + accesses may produce a lot of false positives. + +config UBSAN_ALIGNMENT + def_bool !UBSAN_NO_ALIGNMENT |