Andrey Ryabinin | c6d3085 | 2016-01-20 15:00:55 -0800 | [diff] [blame] | 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=null) |
| 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 | |
| 14 | ifdef CONFIG_UBSAN_ALIGNMENT |
| 15 | CFLAGS_UBSAN += $(call cc-option, -fsanitize=alignment) |
| 16 | endif |
Andrey Ryabinin | dde5cf3 | 2016-03-22 14:27:45 -0700 | [diff] [blame] | 17 | |
| 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) |
Andrey Ryabinin | c6d3085 | 2016-01-20 15:00:55 -0800 | [diff] [blame] | 21 | endif |