On Wed, May 01, 2024 at 06:24:36AM -0700, Sean Christopherson wrote:
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>
Yeah, let's fix centrally. I like this approach.