Makefile.ubsan 926 B

123456789101112131415161718192021
  1. # SPDX-License-Identifier: GPL-2.0
  2. ifdef CONFIG_UBSAN
  3. CFLAGS_UBSAN += $(call cc-option, -fsanitize=shift)
  4. CFLAGS_UBSAN += $(call cc-option, -fsanitize=integer-divide-by-zero)
  5. CFLAGS_UBSAN += $(call cc-option, -fsanitize=unreachable)
  6. CFLAGS_UBSAN += $(call cc-option, -fsanitize=vla-bound)
  7. CFLAGS_UBSAN += $(call cc-option, -fsanitize=signed-integer-overflow)
  8. CFLAGS_UBSAN += $(call cc-option, -fsanitize=bounds)
  9. CFLAGS_UBSAN += $(call cc-option, -fsanitize=object-size)
  10. CFLAGS_UBSAN += $(call cc-option, -fsanitize=bool)
  11. CFLAGS_UBSAN += $(call cc-option, -fsanitize=enum)
  12. ifdef CONFIG_UBSAN_ALIGNMENT
  13. CFLAGS_UBSAN += $(call cc-option, -fsanitize=alignment)
  14. endif
  15. # -fsanitize=* options makes GCC less smart than usual and
  16. # increase number of 'maybe-uninitialized false-positives
  17. CFLAGS_UBSAN += $(call cc-option, -Wno-maybe-uninitialized)
  18. endif