Messages in this thread Patch in this message |  | | From | Linus Torvalds <> | Date | Sat, 28 Nov 2020 10:28:31 -0800 | Subject | Re: [GIT PULL 2/2] Kconfig updates for v5.10-rc1 |
| |
On Fri, Nov 27, 2020 at 11:05 PM Masahiro Yamada <masahiroy@kernel.org> wrote: > > As for the cc1plus cost, I got a similar result. > > Running scripts/gcc-plugin.sh directly > took me 0.5 sec, which is a fourth > of the allmodconfig run-time. > > Actually, I did not know this shell script > was so expensive to run...
So it turns out that one reason it's so expensive to run is that it does a *lot* more than it claims to do.
It says "we need a c++ compiler that supports the designated initializer GNU extension", but then it actually includes a header file from hell, rather than just test designated initializers.
This patch makes the cc1plus overhead go down a lot. That said, I'm doubtful we really want gcc plugins at all, considering that the only real users have all apparently migrated to clang builtin functionality instead.
Linus scripts/gcc-plugin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/gcc-plugin.sh b/scripts/gcc-plugin.sh index b79fd0bea838..59db87bff456 100755 --- a/scripts/gcc-plugin.sh +++ b/scripts/gcc-plugin.sh @@ -8,8 +8,8 @@ srctree=$(dirname "$0") gccplugins_dir=$($* -print-file-name=plugin) # we need a c++ compiler that supports the designated initializer GNU extension +test -e "$gccplugins_dir/include/plugin-version.h" && $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: int test; |  |