Hi Kees,

2017-02-02 8:04 GMT+09:00 Kees Cook <keesc...@chromium.org>:
> 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 <keesc...@chromium.org>
> ---
>  Makefile | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/Makefile b/Makefile
> index 96b27a888285..d4e0550e7abd 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -793,6 +793,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)
>


The code looks OK to me.

As far as I understood, this patch changes
designated-init warnings into errors.  Correct?

If so, I think the commit subject "Kbuild: support designated_init attribute"
does not directly describe what this patch does.




-- 
Best Regards
Masahiro Yamada

Reply via email to