blob: 7099c603ff0ad3e35c91b96c00bbe9eb2a85a375 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001# SPDX-License-Identifier: GPL-2.0
Masahiro Yamadabb273212020-09-10 22:44:29 +09002
Kees Cookcdf8a762020-12-15 20:46:24 -08003# Enable available and selected UBSAN features.
4ubsan-cflags-$(CONFIG_UBSAN_ALIGNMENT) += -fsanitize=alignment
5ubsan-cflags-$(CONFIG_UBSAN_ONLY_BOUNDS) += -fsanitize=bounds
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
Kees Cookcdf8a762020-12-15 20:46:24 -080011ubsan-cflags-$(CONFIG_UBSAN_BOOL) += -fsanitize=bool
12ubsan-cflags-$(CONFIG_UBSAN_ENUM) += -fsanitize=enum
13ubsan-cflags-$(CONFIG_UBSAN_TRAP) += -fsanitize-undefined-trap-on-error
Masahiro Yamadabb273212020-09-10 22:44:29 +090014
Kees Cookcdf8a762020-12-15 20:46:24 -080015export CFLAGS_UBSAN := $(ubsan-cflags-y)