lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <202012041402.97F582B00C@keescook> Date: Fri, 4 Dec 2020 14:02:25 -0800 From: Kees Cook <keescook@...omium.org> To: Masahiro Yamada <masahiroy@...nel.org> Cc: linux-kbuild@...r.kernel.org, Emese Revfy <re.emese@...il.com>, linux-hardening@...r.kernel.org, Linus Torvalds <torvalds@...ux-foundation.org>, Nathan Chancellor <natechancellor@...il.com>, Nick Desaulniers <ndesaulniers@...gle.com>, clang-built-linux@...glegroups.com, linux-kernel@...r.kernel.org Subject: Re: [PATCH] gcc-plugins: simplify GCC plugin-dev capability test On Thu, Dec 03, 2020 at 09:57:00PM +0900, Masahiro Yamada wrote: > Linus pointed out a third of the time in the Kconfig parse stage comes > from the single invocation of cc1plus in scripts/gcc-plugin.sh [1], > and directly testing plugin-version.h for existence cuts down the > overhead a lot. [2] > > This commit takes one step further to kill the build test entirely. > > The small piece of code was probably intended to test the C++ designated > initializer, which was not supported until C++20. > > In fact, with -pedantic option given, both GCC and Clang emit a warning. > > $ echo 'class test { public: int test; } test = { .test = 1 };' | g++ -x c++ -pedantic - -fsyntax-only > <stdin>:1:43: warning: C++ designated initializers only available with '-std=c++2a' or '-std=gnu++2a' [-Wpedantic] > $ echo 'class test { public: int test; } test = { .test = 1 };' | clang++ -x c++ -pedantic - -fsyntax-only > <stdin>:1:43: warning: designated initializers are a C++20 extension [-Wc++20-designator] > class test { public: int test; } test = { .test = 1 }; > ^ > 1 warning generated. > > Otherwise, modern C++ compilers should be able to build the code, and > hopefully skipping this test should not make any practical problem. > > Checking the existence of plugin-version.h is still needed to ensure > the plugin-dev package is installed. The test code is now small enough > to be embedded in scripts/gcc-plugins/Kconfig. > > [1] https://lore.kernel.org/lkml/CAHk-=wjU4DCuwQ4pXshRbwDCUQB31ScaeuDo1tjoZ0_PjhLHzQ@mail.gmail.com/ > [2] https://lore.kernel.org/lkml/CAHk-=whK0aQxs6Q5ijJmYF1n2ch8cVFSUzU5yUM_HOjig=+vnw@mail.gmail.com/ > > Reported-by: Linus Torvalds <torvalds@...ux-foundation.org> > Signed-off-by: Masahiro Yamada <masahiroy@...nel.org> Acked-by: Kees Cook <keescook@...omium.org> -- Kees Cook
Powered by blists - more mailing lists