Makefile.ubsan 1004 B

12345678910111213141516171819202122
  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=returns-nonnull-attribute)
  11. CFLAGS_UBSAN += $(call cc-option, -fsanitize=bool)
  12. CFLAGS_UBSAN += $(call cc-option, -fsanitize=enum)
  13. ifdef CONFIG_UBSAN_ALIGNMENT
  14. CFLAGS_UBSAN += $(call cc-option, -fsanitize=alignment)
  15. endif
  16. # -fsanitize=* options makes GCC less smart than usual and
  17. # increase number of 'maybe-uninitialized false-positives
  18. CFLAGS_UBSAN += $(call cc-option, -Wno-maybe-uninitialized)
  19. endif