diff options
author | Masahiro Yamada <masahiroy@kernel.org> | 2020-03-29 13:08:32 +0200 |
---|---|---|
committer | Masahiro Yamada <masahiroy@kernel.org> | 2020-04-08 17:13:45 +0200 |
commit | 77342a02ff6e14645916d85c8550dd1011c4f7d7 (patch) | |
tree | 1acf2ba01d0a386cd71561c893e0825a567c4833 /scripts/gcc-plugin.sh | |
parent | kbuild: Enable -Wtautological-compare (diff) | |
download | linux-77342a02ff6e14645916d85c8550dd1011c4f7d7.tar.xz linux-77342a02ff6e14645916d85c8550dd1011c4f7d7.zip |
gcc-plugins: drop support for GCC <= 4.7
Nobody was opposed to raising minimum GCC version to 4.8 [1]
So, we will drop GCC <= 4.7 support sooner or later.
We always use C++ compiler for building plugins for GCC >= 4.8.
This commit drops the plugin support for GCC <= 4.7 a bit earlier,
which allows us to dump lots of code.
[1] https://lkml.org/lkml/2020/1/23/545
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Acked-by: Kees Cook <keescook@chromium.org>
Diffstat (limited to 'scripts/gcc-plugin.sh')
-rwxr-xr-x | scripts/gcc-plugin.sh | 55 |
1 files changed, 4 insertions, 51 deletions
diff --git a/scripts/gcc-plugin.sh b/scripts/gcc-plugin.sh index d3caefe53eab..b79fd0bea838 100755 --- a/scripts/gcc-plugin.sh +++ b/scripts/gcc-plugin.sh @@ -1,49 +1,14 @@ #!/bin/sh # SPDX-License-Identifier: GPL-2.0 -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" -#if BUILDING_GCC_VERSION >= 4008 || defined(ENABLE_BUILD_WITH_CXX) -#warning $2 CXX -#else -#warning $1 CC -#endif -EOF -) -if [ $? -ne 0 ] -then - if [ -n "$SHOW_ERROR" ] ; then - echo "${plugincc}" >&2 - fi - exit 1 -fi +set -e -case "$plugincc" in - *"$1 CC"*) - echo "$1" - exit 0 - ;; - - *"$2 CXX"*) - # the c++ compiler needs another test, see below - ;; +srctree=$(dirname "$0") - *) - exit 1 - ;; -esac +gccplugins_dir=$($* -print-file-name=plugin) # we need a c++ compiler that supports the designated initializer GNU extension -plugincc=$($2 -c -x c++ -std=gnu++98 - -fsyntax-only -I"${srctree}"/gcc-plugins -I"${gccplugins_dir}"/include 2>&1 <<EOF +$HOSTCC -c -x c++ -std=gnu++98 - -fsyntax-only -I $srctree/gcc-plugins -I $gccplugins_dir/include 2>/dev/null <<EOF #include "gcc-common.h" class test { public: @@ -52,15 +17,3 @@ public: .test = 1 }; EOF -) - -if [ $? -eq 0 ] -then - echo "$2" - exit 0 -fi - -if [ -n "$SHOW_ERROR" ] ; then - echo "${plugincc}" >&2 -fi -exit 1 |