1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 2bb273211SMasahiro Yamada 3cdf8a76fSKees Cook# Enable available and selected UBSAN features. 4cdf8a76fSKees Cookubsan-cflags-$(CONFIG_UBSAN_ALIGNMENT) += -fsanitize=alignment 52d47c695SKees Cookubsan-cflags-$(CONFIG_UBSAN_BOUNDS_STRICT) += -fsanitize=bounds-strict 6cdf8a76fSKees Cookubsan-cflags-$(CONFIG_UBSAN_ARRAY_BOUNDS) += -fsanitize=array-bounds 7cdf8a76fSKees Cookubsan-cflags-$(CONFIG_UBSAN_LOCAL_BOUNDS) += -fsanitize=local-bounds 8cdf8a76fSKees Cookubsan-cflags-$(CONFIG_UBSAN_SHIFT) += -fsanitize=shift 9cdf8a76fSKees Cookubsan-cflags-$(CONFIG_UBSAN_DIV_ZERO) += -fsanitize=integer-divide-by-zero 10cdf8a76fSKees Cookubsan-cflags-$(CONFIG_UBSAN_UNREACHABLE) += -fsanitize=unreachable 11cdf8a76fSKees Cookubsan-cflags-$(CONFIG_UBSAN_BOOL) += -fsanitize=bool 12cdf8a76fSKees Cookubsan-cflags-$(CONFIG_UBSAN_ENUM) += -fsanitize=enum 13167ebedaSKees Cookubsan-cflags-$(CONFIG_UBSAN_TRAP) += $(call cc-option,-fsanitize-trap=undefined,-fsanitize-undefined-trap-on-error) 14bb273211SMasahiro Yamada 15cdf8a76fSKees Cookexport CFLAGS_UBSAN := $(ubsan-cflags-y) 16*557f8c58SKees Cook 17*557f8c58SKees Cookubsan-signed-wrap-cflags-$(CONFIG_UBSAN_SIGNED_WRAP) += -fsanitize=signed-integer-overflow 18*557f8c58SKees Cookexport CFLAGS_UBSAN_SIGNED_WRAP := $(ubsan-signed-wrap-cflags-y) 19