diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-08-09 10:30:07 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-08-09 10:30:07 -0700 |
commit | b79f34d6aef3ae57342db8102a3524f54b382fd7 (patch) | |
tree | 47dec663d7ba544f71c8421ca52e018907812fe8 /scripts/gcc-plugin.sh | |
parent | e1d009eab4c7ed6050b24d24b1a971d23d3804f3 (diff) | |
parent | caefd8c9a9fb06811e07bf3571e5d4450846b16a (diff) |
Merge tag 'gcc-plugin-infrastructure-v4.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
Pull gcc plugin improvements from Kees Cook:
"Several fixes/improvements for the gcc plugin infrastructure:
- fix a problem with gcc plugins interfering with cc-option tests.
- abort more gracefully when gcc plugin headers or compiler support
is missing.
- improve the gcc plugin rule generation to be more dynamic, pass
arguments, and build from subdirectories"
* tag 'gcc-plugin-infrastructure-v4.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
gcc-plugins: Add support for plugin subdirectories
gcc-plugins: Automate make rule generation
gcc-plugins: Add support for passing plugin arguments
gcc-plugins: abort builds cleanly when not supported
kbuild: no gcc-plugins during cc-option tests
Diffstat (limited to 'scripts/gcc-plugin.sh')
-rwxr-xr-x | scripts/gcc-plugin.sh | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/scripts/gcc-plugin.sh b/scripts/gcc-plugin.sh index fb9207565471..b65224bfb847 100755 --- a/scripts/gcc-plugin.sh +++ b/scripts/gcc-plugin.sh @@ -1,5 +1,12 @@ #!/bin/sh srctree=$(dirname "$0") + +SHOW_ERROR= +if [ "$1" = "--show-error" ] ; then + SHOW_ERROR=1 + shift || true +fi + gccplugins_dir=$($3 -print-file-name=plugin) plugincc=$($1 -E -x c++ - -o /dev/null -I"${srctree}"/gcc-plugins -I"${gccplugins_dir}"/include 2>&1 <<EOF #include "gcc-common.h" @@ -13,6 +20,9 @@ EOF if [ $? -ne 0 ] then + if [ -n "$SHOW_ERROR" ] ; then + echo "${plugincc}" >&2 + fi exit 1 fi @@ -48,4 +58,8 @@ then echo "$2" exit 0 fi + +if [ -n "$SHOW_ERROR" ] ; then + echo "${plugincc}" >&2 +fi exit 1 |