Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c834f0e8 authored by Kees Cook's avatar Kees Cook Committed by Masahiro Yamada
Browse files

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: default avatarKees Cook <keescook@chromium.org>
Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
parent f78271df
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -795,6 +795,9 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=date-time)
# enforce correct pointer usage
KBUILD_CFLAGS   += $(call cc-option,-Werror=incompatible-pointer-types)

# Require designated initializers for all marked structures
KBUILD_CFLAGS   += $(call cc-option,-Werror=designated-init)

# use the deterministic mode of AR if available
KBUILD_ARFLAGS := $(call ar-option,D)