[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20160327230913.bbbd9951fddca197b9b13b23@gmail.com>
Date: Sun, 27 Mar 2016 23:09:13 +0200
From: Emese Revfy <re.emese@...il.com>
To: Masahiro Yamada <yamada.masahiro@...ionext.com>
Cc: Linux Kbuild mailing list <linux-kbuild@...r.kernel.org>,
pageexec@...email.hu, spender@...ecurity.net,
kernel-hardening@...ts.openwall.com,
Michal Marek <mmarek@...e.com>,
Kees Cook <keescook@...omium.org>,
Rasmus Villemoes <linux@...musvillemoes.dk>,
fengguang.wu@...el.com, Dmitry Vyukov <dvyukov@...gle.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v5 2/5] GCC plugin infrastructure
On Sat, 26 Mar 2016 11:39:32 +0900
Masahiro Yamada <yamada.masahiro@...ionext.com> wrote:
> > I tried to remove the gcc-plugins target but sadly in this case the plugins aren't complied.
> > I don't know if I understand how it should work. I pushed a commit:
> > https://github.com/ephox-gcc-plugins/gcc-plugins_linux-next/commit/0b005b886bde6c4b9134d01f830d88d464911a65
> > Could you please help me with what I did wrong?
> >
> Sorry, I missed this problem.
>
> GCC-plugins must be compiled before descending into ./Kbuild.
>
>
> Please apply the following on top of commit 0b005b88
> and check if it works.
>
> diff --git a/Makefile b/Makefile
> index 1c7a379..bd643d3 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1009,6 +1009,9 @@ archprepare: archheaders archscripts prepare1
> scripts_basic
> prepare0: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
> prepare0: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
> prepare0: archprepare FORCE
> +ifdef CONFIG_GCC_PLUGINS
> + $(Q)$(MAKE) $(build)=scripts/gcc-plugins
> +endif
> $(Q)$(MAKE) $(build)=.
>
> # All the preparing..
> diff --git a/scripts/Makefile b/scripts/Makefile
> index 0ba652c..1d80897 100644
> --- a/scripts/Makefile
> +++ b/scripts/Makefile
> @@ -45,7 +45,6 @@ subdir-y += mod
> subdir-$(CONFIG_SECURITY_SELINUX) += selinux
> subdir-$(CONFIG_DTC) += dtc
> subdir-$(CONFIG_GDB_SCRIPTS) += gdb
> -subdir-$(CONFIG_GCC_PLUGINS) += gcc-plugins
>
> # Let clean descend into subdirs
> -subdir- += basic kconfig package
> +subdir- += basic kconfig package gcc-plugins
Thanks for the patch. I tested it and there is a problem when I run a parallel make.
The plugins are compiled later than needed (e.g., scripts/mod/empty.o). There is a lot of important
code under scripts/mod which may need the plugins. If the plugins were compiled when the "scripts_basic"
target runs it would be good but unfortunately the config symbol CONFIG_GCC_PLUGINS doesn't seem to be defined yet.
Could you please help me solve this problem?
--
Emese
Powered by blists - more mailing lists