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