Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1388583

Re: [PATCH v7 0/6] Introduce GCC plugin infrastructure

Path csiph.com!aioe.org!bofh.it!news.nic.it!robomod
From Masahiro Yamada <yamada.masahiro@socionext.com>
Newsgroups linux.kernel
Subject Re: [PATCH v7 0/6] Introduce GCC plugin infrastructure
Date Wed, 27 Apr 2016 03:50:02 +0200
Message-ID <rsmM2-16B-3@gated-at.bofh.it> (permalink)
References <rqO02-6t9-3@gated-at.bofh.it> <rsi5I-5Mq-17@gated-at.bofh.it>
X-Original-To Kees Cook <keescook@chromium.org>
Dkim-Filter OpenDKIM Filter v2.10.3 conssluserg-02.nifty.com u3R1eVmI002552
Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1461721232; bh=lRzq/ZRcXXIcevoNifRNxxS9eaai4GJDr9z/NqJ4sXw=; h=In-Reply-To:References:Date:Subject:From:To:Cc:From; b=eQEqs+9sBMypfTB4bctclGJ91UHz90Uu+95j8LIOEyODDxYdygqDo4GiXUEX6Jbw9 ALmh0OJOOw8HWODJkq1EM5xnLuFsCvzrGGBfNEfke5e0R7w79JPcJqCT4K2+Q44UF5 jSyDD8+S/kx/sPPGhnEwbcwp9RwERZ6ui0sDh1+k5WkOjU0nPU/gRqPSGgQy2x/vVM XJlI7gJ1wwUqXDqf2CUucbjRU06oBy2oJquK9GBKBsMhxbLB1DiV8Dfmlcc5/n2WIY ZgiGfwoq3z0HoO+jgb6ezzZTCfXO7DcyGfUgQG+0z0YEW31RD+jHz0J+Dv2M5xKddF M6FrhnK6aCkrQ==
X-Nifty-Srcip [209.85.161.170]
X-Gm-Message-State AOPr4FXXTMYLyAHrCfljeS/EU4Xv5xX336qG02MyYNMVuR82a/oC6NvbiKFnLU62113FJ+tiabA5tBPgI59zhg==
MIME-Version 1.0
X-Received by 10.37.208.199 with SMTP id h190mr3220615ybg.154.1461721230838; Tue, 26 Apr 2016 18:40:30 -0700 (PDT)
X-Gmail-Original-Message-ID <CAK7LNASyO2qCEaG6SMm7XiFQMSZZ8rCjOpJo0cA6-VJky47Y3A@mail.gmail.com>
Content-Type text/plain; charset=UTF-8
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 104
Organization linux.* mail to news gateway
X-Original-Cc Emese Revfy <re.emese@gmail.com>, Michal Marek <mmarek@suse.com>, linux-kbuild <linux-kbuild@vger.kernel.org>, PaX Team <pageexec@freemail.hu>, Brad Spengler <spender@grsecurity.net>, "kernel-hardening@lists.openwall.com" <kernel-hardening@lists.openwall.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Fengguang Wu <fengguang.wu@intel.com>, Dmitry Vyukov <dvyukov@google.com>, LKML <linux-kernel@vger.kernel.org>, David Brown <david.brown@linaro.org>
X-Original-Date Wed, 27 Apr 2016 10:40:30 +0900
X-Original-Message-ID <CAK7LNASyO2qCEaG6SMm7XiFQMSZZ8rCjOpJo0cA6-VJky47Y3A@mail.gmail.com>
X-Original-References <20160422201957.97ce16f0e67377d0ce613d19@gmail.com> <CAGXu5j+sZrifFG8=wYC46b=7JRnqg0SXV0-6B5d=xXbCFhYxkQ@mail.gmail.com>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1388583

Show key headers only | View raw


2016-04-27 5:40 GMT+09:00 Kees Cook <keescook@chromium.org>:
> On Fri, Apr 22, 2016 at 11:19 AM, Emese Revfy <re.emese@gmail.com> wrote:
>> This patch set introduce the GCC plugin infrastructure with examples for testing
>> and documentation.
>>
>> GCC plugins are loadable modules that provide extra features to the compiler.
>> They are useful for runtime instrumentation and static analysis.
>>
>> The infrastructure supports all gcc versions from 4.5 to 6.0, building
>> out-of-tree modules and building in a separate directory. Cross-compilation
>> is supported too but currently only the x86, arm and arm64 architectures enables plugins.
>>
>> This infrastructure was ported from grsecurity/PaX. It is a CII project
>> supported by the Linux Foundation.
>>
>> Emese Revfy (6):
>>  Shared library support
>>  GCC plugin infrastructure
>>  The GCC plugin infrastructure supports the arm and arm64 architectures too
>>  Add Cyclomatic complexity plugin
>>  Documentations of the GCC plugin infrastructre
>>  Add sancov plugin
>>
>>
>> Changes from v6:
>>  * Disable the sancov plugin whenever KCOV_INSTRUMENT is disabled
>>     (Reported-by: Huang Ying <ying.huang@linux.intel.com>)
>>  * Disable KCOV/sancov plugin because this is not a regular kernel code
>>     (Reported-by: Huang Ying <ying.huang@linux.intel.com>)
>>  * Removed unnecessary gcc plugin cflags
>>     (Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>)
>>  * Removed unnecessary gcc plugin aflags
>>
>> Changes from v5:
>>  * Set important properties on the external fndecl (Add sancov plugin)
>>  * Revert documentation change too (Shared library support)
>>     (Suggested-by: Kees Cook <keescook@chromium.org>)
>>  * The GCC plugin infrastructure now supports the arm and arm64 architectures too
>>     (Signed-off-by: David Brown <david.brown@linaro.org>)
>>  * Simplify the computation of PLUGINCC (GCC plugin infrastructure)
>>     (Suggested-by: Masahiro Yamada <yamada.masahiro@socionext.com>)
>>  * Simplify the invocation of gcc-plugin.sh (GCC plugin infrastructure)
>>     (Suggested-by: Masahiro Yamada <yamada.masahiro@socionext.com>)
>>  * Make use of multi-depend (Shared library support)
>>     (Suggested-by: Masahiro Yamada <yamada.masahiro@socionext.com>)
>>  * Remove unnecessary exports (GCC plugin infrastructure)
>>     (Suggested-by: Masahiro Yamada <yamada.masahiro@socionext.com>)
>>  * Simplify Makefile by using addprefix (GCC plugin infrastructure)
>>     (Suggested-by: Masahiro Yamada <yamada.masahiro@socionext.com>)
>>  * Moved the gcc plugins from tools/ to scripts/ (GCC plugin infrastructure)
>>     (Suggested-by: Masahiro Yamada <yamada.masahiro@socionext.com>)
>>  * Removed plugins from KBUILD_CFLAGS_32 (GCC plugin infrastructure)
>>  * Remove gcc-plugin target everywhere
>>     (Suggested-by and partly Written-by: Masahiro Yamada <yamada.masahiro@socionext.com>)
>>  * There is no leaf gcc attribute in gcc-4.5 (Add sancov plugin)
>>  * Added support to the sancov plugin with kcov (Add sancov plugin)
>>
>> Changes from v4:
>>  * Moved shared library support from the GCC plugin infrastructure patch into
>>    a different patch
>>  * Update gcc-*.h from PaX
>>    * Fixed gcc-common.h for gcc 6
>>    * Added pass cloning support to the gcc pass generators
>>  * Disable all plugins in vdso because it is userland code
>>  * Add sancov gcc plugin: another use case for gcc plugin support in the kernel
>>    is when there is a feature in the latest gcc version and we would like to use
>>    it with older gcc versions as well (e.g., distros).
>>
>> Changes from v3:
>>  * Fix some indentation related warnings
>>    (Suggested by checkpatch.pl)
>>  * Add maintainer entries
>>  * Don't run gcc_plugin.sh when the GCC_PLUGINS option is disabled or unsupported
>>    (Reported-by: Fengguang Wu <fengguang.wu@intel.com>)
>>
>> Changes from v2:
>>  * Fixed incorrectly encoded characters
>>  * Generate the GIMPLE, IPA, SIMPLE_IPA and RTL pass structures
>>    (Suggested-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>)
>>  * Write plugin related warning messages to stderr instead of stdout
>>    (Suggested-by: Kees Cook <keescook@chromium.org>)
>>  * Mention the installation of the gcc plugin headers (Documentation)
>>
>> Changes from v1:
>>  * Move the gcc-plugins make target into a separate Makefile because there may
>>    be a lot of plugins (Suggested-by: Rasmus Villemoes)
>>  * Simplify the dependencies of the plugin related config option
>>    (Suggested-by: Kees Cook <keescook@chromium.org>)
>>  * Removed the unnecessary example plugin
>
> This looks really good to me! Masahiro are there any other things you
> see here that need fixing? Michal, does this look like it's ready for
> -next? I'd be happy to carry it via one of my trees if you want.


I am busy these days, but hopefully I will manage to find some time
to review this series this weekend.




-- 
Best Regards
Masahiro Yamada

Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread


Thread

[PATCH v7 0/6] Introduce GCC plugin infrastructure Emese Revfy <re.emese@gmail.com> - 2016-04-22 20:30 +0200
  Re: [PATCH v7 0/6] Introduce GCC plugin infrastructure Kees Cook <keescook@chromium.org> - 2016-04-26 22:50 +0200
    Re: [PATCH v7 0/6] Introduce GCC plugin infrastructure Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-04-27 03:50 +0200

csiph-web