All of lore.kernel.org
 help / color / mirror / Atom feed
From: Masahiro Yamada <yamada.masahiro@socionext.com>
To: Emese Revfy <re.emese@gmail.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>,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	fengguang.wu@intel.com, Dmitry Vyukov <dvyukov@google.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v5 2/5] GCC plugin infrastructure
Date: Sat, 2 Apr 2016 13:32:40 +0900	[thread overview]
Message-ID: <CAK7LNAQqF=+y9H54aFsmvfFT5q3x2S_fsiDwjekV0oFdgDBpXQ@mail.gmail.com> (raw)
In-Reply-To: <20160327230913.bbbd9951fddca197b9b13b23@gmail.com>

Hi Emese,

Sorry for my late reply.


> 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.

Ah, I missed that.


> 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?


How about this?

It should apply on commit 0b005b886bde6c4b9134d01f830d88d464911a65
of your tree.



diff --git a/Makefile b/Makefile
index 1c7a379..d3518e0 100644
--- a/Makefile
+++ b/Makefile
@@ -550,7 +550,7 @@ ifeq ($(KBUILD_EXTMOD),)
 # in parallel
 PHONY += scripts
 scripts: scripts_basic include/config/auto.conf include/config/tristate.conf \
-        asm-generic
+        asm-generic gcc-plugins
        $(Q)$(MAKE) $(build)=$(@)

 # Objects we will link into vmlinux / subdirs we need to visit
@@ -625,6 +625,13 @@ endif
 # Tell gcc to never replace conditional load with a non-conditional one
 KBUILD_CFLAGS  += $(call cc-option,--param=allow-store-data-races=0)

+PHONY += gcc-plugins
+gcc-plugins: scripts_basic
+ifdef CONFIG_GCC_PLUGINS
+       $(Q)$(MAKE) $(build)=scripts/gcc-plugins
+endif
+       @:
+
 include scripts/Makefile.gcc-plugins

 ifdef CONFIG_READABLE_ASM
@@ -1008,7 +1015,7 @@ archprepare: archheaders archscripts prepare1
scripts_basic

 prepare0: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
 prepare0: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
-prepare0: archprepare FORCE
+prepare0: archprepare gcc-plugins FORCE
        $(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





-- 
Best Regards
Masahiro Yamada

WARNING: multiple messages have this Message-ID (diff)
From: Masahiro Yamada <yamada.masahiro@socionext.com>
To: Emese Revfy <re.emese@gmail.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>,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	fengguang.wu@intel.com, Dmitry Vyukov <dvyukov@google.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: [kernel-hardening] Re: [PATCH v5 2/5] GCC plugin infrastructure
Date: Sat, 2 Apr 2016 13:32:40 +0900	[thread overview]
Message-ID: <CAK7LNAQqF=+y9H54aFsmvfFT5q3x2S_fsiDwjekV0oFdgDBpXQ@mail.gmail.com> (raw)
In-Reply-To: <20160327230913.bbbd9951fddca197b9b13b23@gmail.com>

Hi Emese,

Sorry for my late reply.


> 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.

Ah, I missed that.


> 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?


How about this?

It should apply on commit 0b005b886bde6c4b9134d01f830d88d464911a65
of your tree.



diff --git a/Makefile b/Makefile
index 1c7a379..d3518e0 100644
--- a/Makefile
+++ b/Makefile
@@ -550,7 +550,7 @@ ifeq ($(KBUILD_EXTMOD),)
 # in parallel
 PHONY += scripts
 scripts: scripts_basic include/config/auto.conf include/config/tristate.conf \
-        asm-generic
+        asm-generic gcc-plugins
        $(Q)$(MAKE) $(build)=$(@)

 # Objects we will link into vmlinux / subdirs we need to visit
@@ -625,6 +625,13 @@ endif
 # Tell gcc to never replace conditional load with a non-conditional one
 KBUILD_CFLAGS  += $(call cc-option,--param=allow-store-data-races=0)

+PHONY += gcc-plugins
+gcc-plugins: scripts_basic
+ifdef CONFIG_GCC_PLUGINS
+       $(Q)$(MAKE) $(build)=scripts/gcc-plugins
+endif
+       @:
+
 include scripts/Makefile.gcc-plugins

 ifdef CONFIG_READABLE_ASM
@@ -1008,7 +1015,7 @@ archprepare: archheaders archscripts prepare1
scripts_basic

 prepare0: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
 prepare0: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
-prepare0: archprepare FORCE
+prepare0: archprepare gcc-plugins FORCE
        $(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





-- 
Best Regards
Masahiro Yamada

  reply	other threads:[~2016-04-02  4:32 UTC|newest]

Thread overview: 67+ 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:02 ` [kernel-hardening] " Emese Revfy
2016-03-06 23:03 ` [PATCH v5 1/5] Shared library support Emese Revfy
2016-03-06 23:03   ` [kernel-hardening] " Emese Revfy
2016-03-07 21:05   ` Kees Cook
2016-03-07 21:05     ` [kernel-hardening] " Kees Cook
2016-03-07 21:05     ` Kees Cook
2016-03-07 21:32     ` Emese Revfy
2016-03-07 21:32       ` [kernel-hardening] " Emese Revfy
2016-03-07 21:32       ` Emese Revfy
2016-03-11  6:19   ` Masahiro Yamada
2016-03-11  6:19     ` [kernel-hardening] " Masahiro Yamada
2016-03-14 20:14     ` Emese Revfy
2016-03-14 20:14       ` [kernel-hardening] " Emese Revfy
2016-03-16  7:50       ` Masahiro Yamada
2016-03-16  7:50         ` [kernel-hardening] " Masahiro Yamada
2016-03-06 23:04 ` [PATCH v5 2/5] GCC plugin infrastructure Emese Revfy
2016-03-06 23:04   ` [kernel-hardening] " Emese Revfy
2016-03-09  9:01   ` David Brown
2016-03-09 20:50     ` Kees Cook
2016-03-09 20:50       ` Kees Cook
2016-03-09 22:07       ` Emese Revfy
2016-03-09 22:07         ` Emese Revfy
2016-03-09 22:03     ` Emese Revfy
2016-03-11  6:25   ` Masahiro Yamada
2016-03-11  6:25     ` [kernel-hardening] " Masahiro Yamada
2016-03-14 20:52     ` Emese Revfy
2016-03-14 20:52       ` [kernel-hardening] " Emese Revfy
2016-03-16  7:41       ` Masahiro Yamada
2016-03-16  7:41         ` [kernel-hardening] " Masahiro Yamada
2016-03-16 21:06         ` Emese Revfy
2016-03-16 21:06           ` [kernel-hardening] " Emese Revfy
2016-03-14 21:25     ` PaX Team
2016-03-14 21:25       ` [kernel-hardening] " PaX Team
2016-03-16  7:34       ` Masahiro Yamada
2016-03-16  7:34         ` [kernel-hardening] " Masahiro Yamada
2016-03-16 12:49         ` PaX Team
2016-03-16 12:49           ` [kernel-hardening] " PaX Team
2016-03-17  4:09           ` Masahiro Yamada
2016-03-17  4:09             ` [kernel-hardening] " Masahiro Yamada
2016-03-24  0:07     ` Emese Revfy
2016-03-24  0:07       ` [kernel-hardening] " Emese Revfy
2016-03-26  2:39       ` Masahiro Yamada
2016-03-26  2:39         ` [kernel-hardening] " Masahiro Yamada
2016-03-27 21:09         ` Emese Revfy
2016-03-27 21:09           ` [kernel-hardening] " Emese Revfy
2016-04-02  4:32           ` Masahiro Yamada [this message]
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-06 23:05   ` [kernel-hardening] " Emese Revfy
2016-03-11  6:26   ` Masahiro Yamada
2016-03-11  6:26     ` [kernel-hardening] " Masahiro Yamada
2016-03-14 21:02     ` Emese Revfy
2016-03-14 21:02       ` [kernel-hardening] " Emese Revfy
2016-03-06 23:06 ` [PATCH v5 4/5] Documentation for the GCC plugin infrastructure Emese Revfy
2016-03-06 23:06   ` [kernel-hardening] " Emese Revfy
2016-03-06 23:07 ` [PATCH v5 5/5] Add sancov plugin Emese Revfy
2016-03-06 23:07   ` [kernel-hardening] " Emese Revfy
2016-03-07 21:07   ` Kees Cook
2016-03-07 21:07     ` [kernel-hardening] " Kees Cook
2016-03-07 21:07     ` Kees Cook
2016-03-07 21:29     ` Emese Revfy
2016-03-07 21:29       ` [kernel-hardening] " Emese Revfy
2016-03-07 21:29       ` Emese Revfy
2016-03-08 10:54     ` Dmitry Vyukov
2016-03-08 10:54       ` [kernel-hardening] " Dmitry Vyukov
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='CAK7LNAQqF=+y9H54aFsmvfFT5q3x2S_fsiDwjekV0oFdgDBpXQ@mail.gmail.com' \
    --to=yamada.masahiro@socionext.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=re.emese@gmail.com \
    --cc=spender@grsecurity.net \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.