Message ID | 20240516-kselftest-mitigate-gnu-source-v1-1-a0e814ff2874@kernel.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | kselftest: Desecalate reporting of missing _GNU_SOURCE | expand |
On Thu, May 16, 2024 at 04:28:48PM +0100, Mark Brown wrote: > Commit daef47b89efd0b7 ("selftests: Compile kselftest headers with > -D_GNU_SOURCE") adds a static_assert() which means that things which > would be warnings about undeclared functions get escalated into build > failures. While we do actually want _GNU_SOURCE to be defined for users > of kselftest_harness we haven't actually done that yet and this is > causing widespread build breaks which were previously warnings about > uses of asprintf() without prototypes, including causing other test > programs in the same directory to fail to build. > > Since the build failures that are introduced cause additional issues due > to make stopping builds early replace the static_assert() with a > missing without making the error more severe than it already was. This > will be moot once the issue is fixed properly but reduces the disruption > while that happens. > > Signed-off-by: Mark Brown <broonie@kernel.org> Reviewed-by: Kees Cook <keescook@chromium.org>
diff --git a/tools/testing/selftests/kselftest_harness.h b/tools/testing/selftests/kselftest_harness.h index 37b03f1b8741..1cee8cacf9dc 100644 --- a/tools/testing/selftests/kselftest_harness.h +++ b/tools/testing/selftests/kselftest_harness.h @@ -51,7 +51,7 @@ #define __KSELFTEST_HARNESS_H #ifndef _GNU_SOURCE -static_assert(0, "kselftest harness requires _GNU_SOURCE to be defined"); +#warning kselftest harness requires _GNU_SOURCE to be defined #endif #include <asm/types.h> #include <ctype.h>
Commit daef47b89efd0b7 ("selftests: Compile kselftest headers with -D_GNU_SOURCE") adds a static_assert() which means that things which would be warnings about undeclared functions get escalated into build failures. While we do actually want _GNU_SOURCE to be defined for users of kselftest_harness we haven't actually done that yet and this is causing widespread build breaks which were previously warnings about uses of asprintf() without prototypes, including causing other test programs in the same directory to fail to build. Since the build failures that are introduced cause additional issues due to make stopping builds early replace the static_assert() with a missing without making the error more severe than it already was. This will be moot once the issue is fixed properly but reduces the disruption while that happens. Signed-off-by: Mark Brown <broonie@kernel.org> --- tools/testing/selftests/kselftest_harness.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- base-commit: 3c999d1ae3c75991902a1a7dad0cb62c2a3008b4 change-id: 20240516-kselftest-mitigate-gnu-source-b41b2d2cb8a1 Best regards,