summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2017-03-20 20:14:11 -0400
committerMasahiro Yamada <yamada.masahiro@socionext.com>2017-03-21 13:50:25 -0400
commitc834f0e8a8bb3025aac38e802fca2e686720f544 (patch)
treec53de99eef392f795629261ecbcc4c5b7b27c99b /Makefile
parentf78271dfb77353c4d045f9735deebe21839fb2ed (diff)
Kbuild: make designated_init attribute fatal
If a structure is marked with __attribute__((designated_init)) from GCC or Sparse, it needs to have all static initializers using designated initialization. Fail the build for any missing cases. This attribute will be used by the randstruct plugin to make sure randomized structures are being correctly initialized. Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile3
1 files changed, 3 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 515aeea7e702..ae49fef98ca3 100644
--- a/Makefile
+++ b/Makefile
@@ -795,6 +795,9 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=date-time)
795# enforce correct pointer usage 795# enforce correct pointer usage
796KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types) 796KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types)
797 797
798# Require designated initializers for all marked structures
799KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init)
800
798# use the deterministic mode of AR if available 801# use the deterministic mode of AR if available
799KBUILD_ARFLAGS := $(call ar-option,D) 802KBUILD_ARFLAGS := $(call ar-option,D)
800 803