37 lines · 1.2 KB · Text
RawDownload
# SPDX-License-Identifier: GPL-2.0 export CFLAGS_UBSAN := ifdef CONFIG_UBSAN_ALIGNMENT      CFLAGS_UBSAN += $(call cc-option, -fsanitize=alignment)endif ifdef CONFIG_UBSAN_BOUNDS      ifdef CONFIG_CC_IS_CLANG            CFLAGS_UBSAN += -fsanitize=array-bounds      else            CFLAGS_UBSAN += $(call cc-option, -fsanitize=bounds)      endifendif ifdef CONFIG_UBSAN_LOCAL_BOUNDS      CFLAGS_UBSAN += -fsanitize=local-boundsendif ifdef CONFIG_UBSAN_MISC      CFLAGS_UBSAN += $(call cc-option, -fsanitize=shift)      CFLAGS_UBSAN += $(call cc-option, -fsanitize=integer-divide-by-zero)      CFLAGS_UBSAN += $(call cc-option, -fsanitize=unreachable)      CFLAGS_UBSAN += $(call cc-option, -fsanitize=signed-integer-overflow)      CFLAGS_UBSAN += $(call cc-option, -fsanitize=object-size)      CFLAGS_UBSAN += $(call cc-option, -fsanitize=bool)      CFLAGS_UBSAN += $(call cc-option, -fsanitize=enum)endif ifdef CONFIG_UBSAN_TRAP      CFLAGS_UBSAN += $(call cc-option, -fsanitize-undefined-trap-on-error)endif       # -fsanitize=* options makes GCC less smart than usual and      # increase number of 'maybe-uninitialized false-positives      CFLAGS_UBSAN += $(call cc-option, -Wno-maybe-uninitialized)