28 lines · 1.3 KB · Text
RawDownload
# SPDX-License-Identifier: GPL-2.0 # Shared with KVM/arm64.export CFLAGS_UBSAN_TRAP := $(call cc-option,-fsanitize-trap=undefined,-fsanitize-undefined-trap-on-error) # Enable available and selected UBSAN features.ubsan-cflags-$(CONFIG_UBSAN_ALIGNMENT)		+= -fsanitize=alignmentubsan-cflags-$(CONFIG_UBSAN_BOUNDS_STRICT)	+= -fsanitize=bounds-strictubsan-cflags-$(CONFIG_UBSAN_ARRAY_BOUNDS)	+= -fsanitize=array-boundsubsan-cflags-$(CONFIG_UBSAN_LOCAL_BOUNDS)	+= -fsanitize=local-boundsubsan-cflags-$(CONFIG_UBSAN_SHIFT)		+= -fsanitize=shiftubsan-cflags-$(CONFIG_UBSAN_DIV_ZERO)		+= -fsanitize=integer-divide-by-zeroubsan-cflags-$(CONFIG_UBSAN_UNREACHABLE)	+= -fsanitize=unreachableubsan-cflags-$(CONFIG_UBSAN_BOOL)		+= -fsanitize=boolubsan-cflags-$(CONFIG_UBSAN_ENUM)		+= -fsanitize=enumubsan-cflags-$(CONFIG_UBSAN_TRAP)		+= $(CFLAGS_UBSAN_TRAP) export CFLAGS_UBSAN := $(ubsan-cflags-y) ubsan-integer-wrap-cflags-$(CONFIG_UBSAN_INTEGER_WRAP)     +=	\	-DINTEGER_WRAP						\	-fsanitize-undefined-ignore-overflow-pattern=all	\	-fsanitize=signed-integer-overflow			\	-fsanitize=unsigned-integer-overflow			\	-fsanitize=implicit-signed-integer-truncation		\	-fsanitize=implicit-unsigned-integer-truncation		\	-fsanitize-ignorelist=$(srctree)/scripts/integer-wrap-ignore.sclexport CFLAGS_UBSAN_INTEGER_WRAP := $(ubsan-integer-wrap-cflags-y)