1 # SPDX-License-Identifier: GPL-2.0
3 # Enable available and selected UBSAN features.
4 ubsan-cflags-$(CONFIG_UBSAN_ALIGNMENT) += -fsanitize=alignment
5 ubsan-cflags-$(CONFIG_UBSAN_ONLY_BOUNDS) += -fsanitize=bounds
6 ubsan-cflags-$(CONFIG_UBSAN_ARRAY_BOUNDS) += -fsanitize=array-bounds
7 ubsan-cflags-$(CONFIG_UBSAN_LOCAL_BOUNDS) += -fsanitize=local-bounds
8 ubsan-cflags-$(CONFIG_UBSAN_SHIFT) += -fsanitize=shift
9 ubsan-cflags-$(CONFIG_UBSAN_DIV_ZERO) += -fsanitize=integer-divide-by-zero
10 ubsan-cflags-$(CONFIG_UBSAN_UNREACHABLE) += -fsanitize=unreachable
11 ubsan-cflags-$(CONFIG_UBSAN_OBJECT_SIZE) += -fsanitize=object-size
12 ubsan-cflags-$(CONFIG_UBSAN_BOOL) += -fsanitize=bool
13 ubsan-cflags-$(CONFIG_UBSAN_ENUM) += -fsanitize=enum
14 ubsan-cflags-$(CONFIG_UBSAN_TRAP) += -fsanitize-undefined-trap-on-error
16 export CFLAGS_UBSAN := $(ubsan-cflags-y)