blob: 3b1b13818d594f9ffa9dcb15206314ab349325a7
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 | |
13 | ifdef CONFIG_UBSAN_ALIGNMENT |
14 | CFLAGS_UBSAN += $(call cc-option, -fsanitize=alignment) |
15 | endif |
16 | |
17 | ifdef CONFIG_UBSAN_NULL |
18 | CFLAGS_UBSAN += $(call cc-option, -fsanitize=null) |
19 | endif |
20 | |
21 | # -fsanitize=* options makes GCC less smart than usual and |
22 | # increase number of 'maybe-uninitialized false-positives |
23 | CFLAGS_UBSAN += $(call cc-option, -Wno-maybe-uninitialized) |
24 | endif |
25 |