From: Emese Revfy <re.emese@gmail.com>
To: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Linux Kbuild mailing list <linux-kbuild@vger.kernel.org>,
pageexec@freemail.hu, spender@grsecurity.net,
kernel-hardening@lists.openwall.com,
Michal Marek <mmarek@suse.com>, Kees Cook <keescook@chromium.org>,
linux@rasmusvillemoes.dk, fengguang.wu@intel.com,
dvyukov@google.com,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v5 2/5] GCC plugin infrastructure
Date: Mon, 14 Mar 2016 21:52:17 +0100 [thread overview]
Message-ID: <20160314215217.7fa20e0c85bfda75dc11b70c@gmail.com> (raw)
In-Reply-To: <CAK7LNASCOaEi46+b7Obt0D6GtiBmCfwBEkdbYSnpBDzzQOXpvA@mail.gmail.com>
On Fri, 11 Mar 2016 15:25:19 +0900
Masahiro Yamada <yamada.masahiro@socionext.com> wrote:
> Maybe scripts/gcc-plugins/ is better than tools/gcc ?
>
> In the directory "scripts/", we have several tools used during
> building the kernel image.
> We have some optional programs in the directory "tools/", which are not used
> for building the kernel image itself.
>
> Please correct me if I am wrong.
I think scripts isn't the right place because there are tools there which don't get used
during the building of vmlinux (e.g., coccinelle, checkpatch).
The scripts name also doesn't describe gcc plugins well. Plugins take part in the image building process
in a different way than these tools and scripts do.
Since there doesn't seen to be a good place for compiler plugins, maybe we should create a new toplevel directory
called "build". Compiler plugins and other existing build tools could live there. What do you think?
> > +ccflags-y := $(GCC_PLUGINS_CFLAGS)
> > +asflags-y := $(GCC_PLUGINS_AFLAGS)
> > +
> > obj-y := main.o version.o mounts.o
> > ifneq ($(CONFIG_BLK_DEV_INITRD),y)
> > obj-y += noinitramfs.o
> > diff --git a/scripts/Makefile.gcc-plugins b/scripts/Makefile.gcc-plugins
> > new file mode 100644
> > index 0000000..7c85bf2
> > --- /dev/null
> > +++ b/scripts/Makefile.gcc-plugins
> > @@ -0,0 +1,28 @@
> > +ifdef CONFIG_GCC_PLUGINS
> > +ifeq ($(call cc-ifversion, -ge, 0408, y), y)
> > +PLUGINCC := $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-plugin.sh "$(HOSTCXX)" "$(HOSTCXX)" "$(CC)")
> > +else
> > +PLUGINCC := $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-plugin.sh "$(HOSTCC)" "$(HOSTCXX)" "$(CC)")
> > +endif
>
> The difference is only the first argument.
>
> Can you make it as follows?
>
> __HOSTCC := $(call cc-ifversion, -ge, 0408, $(HOSTCXX), $(HOSTCC))
>
> PLUGINCC := $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-plugin.sh
> "$(__HOSTCC)" "$(HOSTCXX)" "$(CC)")
>
>
> I did not come up with a good name for __HOSTCC.
> Feel free to replace it with a better one.
Sure, I will do it.
--
Emese
next prev parent reply other threads:[~2016-03-14 20:54 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-06 23:02 [PATCH v5 0/5] Introduce GCC plugin infrastructure Emese Revfy
2016-03-06 23:03 ` [PATCH v5 1/5] Shared library support Emese Revfy
2016-03-07 21:05 ` Kees Cook
2016-03-07 21:32 ` Emese Revfy
2016-03-11 6:19 ` Masahiro Yamada
2016-03-14 20:14 ` Emese Revfy
2016-03-16 7:50 ` Masahiro Yamada
2016-03-06 23:04 ` [PATCH v5 2/5] GCC plugin infrastructure Emese Revfy
2016-03-09 9:01 ` [kernel-hardening] " David Brown
2016-03-09 20:50 ` Kees Cook
2016-03-09 22:07 ` Emese Revfy
2016-03-09 22:03 ` Emese Revfy
2016-03-11 6:25 ` Masahiro Yamada
2016-03-14 20:52 ` Emese Revfy [this message]
2016-03-16 7:41 ` Masahiro Yamada
2016-03-16 21:06 ` Emese Revfy
2016-03-14 21:25 ` PaX Team
2016-03-16 7:34 ` Masahiro Yamada
2016-03-16 12:49 ` PaX Team
2016-03-17 4:09 ` Masahiro Yamada
2016-03-24 0:07 ` Emese Revfy
2016-03-26 2:39 ` Masahiro Yamada
2016-03-27 21:09 ` Emese Revfy
2016-04-02 4:32 ` Masahiro Yamada
2016-03-06 23:05 ` [PATCH v5 3/5] Add Cyclomatic complexity GCC plugin Emese Revfy
2016-03-11 6:26 ` Masahiro Yamada
2016-03-14 21:02 ` Emese Revfy
2016-03-06 23:06 ` [PATCH v5 4/5] Documentation for the GCC plugin infrastructure Emese Revfy
2016-03-06 23:07 ` [PATCH v5 5/5] Add sancov plugin Emese Revfy
2016-03-07 21:07 ` Kees Cook
2016-03-07 21:29 ` Emese Revfy
2016-03-08 10:54 ` Dmitry Vyukov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160314215217.7fa20e0c85bfda75dc11b70c@gmail.com \
--to=re.emese@gmail.com \
--cc=dvyukov@google.com \
--cc=fengguang.wu@intel.com \
--cc=keescook@chromium.org \
--cc=kernel-hardening@lists.openwall.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@rasmusvillemoes.dk \
--cc=mmarek@suse.com \
--cc=pageexec@freemail.hu \
--cc=spender@grsecurity.net \
--cc=yamada.masahiro@socionext.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox