Makefile.ubsan 1.0 KB

12345678910111213141516171819202122232425
  1. ifdef CONFIG_UBSAN
  2. CFLAGS_UBSAN += $(call cc-option, -fsanitize=shift)
  3. CFLAGS_UBSAN += $(call cc-option, -fsanitize=integer-divide-by-zero)
  4. CFLAGS_UBSAN += $(call cc-option, -fsanitize=unreachable)
  5. CFLAGS_UBSAN += $(call cc-option, -fsanitize=vla-bound)
  6. CFLAGS_UBSAN += $(call cc-option, -fsanitize=signed-integer-overflow)
  7. CFLAGS_UBSAN += $(call cc-option, -fsanitize=bounds)
  8. CFLAGS_UBSAN += $(call cc-option, -fsanitize=object-size)
  9. CFLAGS_UBSAN += $(call cc-option, -fsanitize=returns-nonnull-attribute)
  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. ifdef CONFIG_UBSAN_NULL
  16. CFLAGS_UBSAN += $(call cc-option, -fsanitize=null)
  17. endif
  18. # -fsanitize=* options makes GCC less smart than usual and
  19. # increase number of 'maybe-uninitialized false-positives
  20. CFLAGS_UBSAN += $(call cc-option, -Wno-maybe-uninitialized)
  21. endif