Re: [PATCH v3 0/3] Introduce GCC plugin infrastructure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Feb 22, 2016 at 11:13 AM, Emese Revfy <re.emese@xxxxxxxxx> 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 architecture enables plugins.
>
> This infrastructure was ported from grsecurity/PaX. It is a CII project
> supported by the Linux Foundation.
>
> Emese Revfy (3):
>  GCC plugin infrastructure
>  Add Cyclomatic complexity plugin
>  Documentations of the GCC plugin infrastructre
>
> Changes from v2:
>  * Fixed incorrectly encoded characters
>  * Generate the GIMPLE, IPA, SIMPLE_IPA and RTL pass structures
>    (Suggested-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>)
>  * Write plugin related warning messages to stderr instead of stdout
>    (Suggested-by: Kees Cook <keescook@xxxxxxxxxxxx>)
>  * 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@xxxxxxxxxxxx>)
>  * Removed the unnecessary example plugin

Oh, I totally missed a detail from v2 that still applies to v3:

You're missing your Signed-off-by lines in the patches.

Running each patch through scripts/checkpatch.pl produces a number of
other warnings (I ignored all the C++isms), mostly around lines >80
characters, function definitions (missing void), and the suggestion to
create yourself a MAINTAINTERS line for this directory.

-Kees

> ---
>  Documentation/dontdiff                   |   1 +
>  Documentation/gcc-plugins.txt            |  80 ++++
>  Makefile                                 |  41 +-
>  arch/Kconfig                             |  24 +
>  arch/x86/Kconfig                         |   1 +
>  init/Makefile                            |   3 +
>  scripts/Makefile.build                   |   2 +-
>  scripts/Makefile.clean                   |   3 +-
>  scripts/Makefile.gcc-plugins             |  30 ++
>  scripts/Makefile.host                    |  69 ++-
>  scripts/gcc-plugin.sh                    |  51 ++
>  scripts/link-vmlinux.sh                  |   2 +-
>  scripts/package/builddeb                 |   1 +
>  tools/gcc/Makefile                       |  19 +
>  tools/gcc/cyc_complexity_plugin.c        |  70 +++
>  tools/gcc/gcc-common.h                   | 794 +++++++++++++++++++++++++++++++
>  tools/gcc/gcc-generate-gimple-pass.h     | 172 +++++++
>  tools/gcc/gcc-generate-ipa-pass.h        | 286 +++++++++++
>  tools/gcc/gcc-generate-rtl-pass.h        | 172 +++++++
>  tools/gcc/gcc-generate-simple_ipa-pass.h | 172 +++++++
>  20 files changed, 1978 insertions(+), 15 deletions(-)



-- 
Kees Cook
Chrome OS & Brillo Security
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux