On Wed, May 01, 2024, Mark Brown wrote: > On Tue, Apr 30, 2024 at 11:50:09PM +0000, Edward Liaw wrote: > > 809216233555 ("selftests/harness: remove use of LINE_MAX") introduced > > asprintf into kselftest_harness.h, which is a GNU extension and needs > > _GNU_SOURCE to either be defined prior to including headers or with the > > -D_GNU_SOURCE flag passed to the compiler. > > This seems like something that should be handled centrally rather than > having to go round and audit the users every time some update is made. +1. And if for some reason unilaterally defining _GNU_SOURCE in tools/testing/selftests/lib.mk isn't an option, we should at least have kselftest_harness.h assert instead of making a futile attempt to provide its own definition, e.g. diff --git a/tools/testing/selftests/kselftest_harness.h b/tools/testing/selftests/kselftest_harness.h index 4fd735e48ee7..6741b4f20f25 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 -#define _GNU_SOURCE +static_assert(0, "Using the kselftests harness requires building with _GNU_SOURCE"); #endif #include <asm/types.h> #include <ctype.h>