* [PATCH 1/1] tools feature gettid: Undef _GNU_SOURCE before defining it
@ 2026-09-28 12:02 Arnaldo Carvalho de Melo
2026-09-28 12:04 ` sashiko-bot
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Arnaldo Carvalho de Melo @ 2026-09-28 12:02 UTC (permalink / raw)
To: Ian Rogers
Cc: Adrian Hunter, James Clark, Jiri Olsa, Namhyung Kim,
linux-perf-users
Since most of tools/build/feature/test-*.c feature tests are included in
tools/build/feature/test-all.c, we can't just define _GNU_SOURCE as it
may already been defined and this will break the build with:
acme@alta:~$ cat /tmp/build/perf-tools-next/feature/test-all.make.output
In file included from test-all.c:26:
test-gettid.c:3:9: error: "_GNU_SOURCE" redefined [-Werror]
3 | #define _GNU_SOURCE
| ^~~~~~~~~~~
In file included from /usr/include/python3.13/pyconfig.h:9,
from /usr/include/python3.13/Python.h:14,
from test-python-module.c:2,
from test-all.c:14:
/usr/include/aarch64-linux-gnu/python3.13/pyconfig.h:1810:10: note: this is the location of the previous definition
1810 | # define _GNU_SOURCE 1
| ^~~~~~~~~~~
cc1: all warnings being treated as errors
acme@alta:~$
I.e. pyconfig.h is included by the new test-python-module.c, that is at
the start of test-all.c, defines _GNU_SOURCE, noticed on Debian 13
(/usr/include/aarch64-linux-gnu/python3.13/pyconfig.h, libpython
3.13.5-2+deb13u5), and then test-all.c includes test-gettid.c that was
defining it as well, undef it first as does several other tests.
Fixes: 1b7e0280e247b93d ("perf Makefile: Update Python script installation path")
Cc: Ian Rogers <irogers@google.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/build/feature/test-gettid.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/build/feature/test-gettid.c b/tools/build/feature/test-gettid.c
index ef24e42d3f1b877d..a8fdb26196697b66 100644
--- a/tools/build/feature/test-gettid.c
+++ b/tools/build/feature/test-gettid.c
@@ -1,5 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
// Copyright (C) 2019, Red Hat Inc, Arnaldo Carvalho de Melo <acme@redhat.com>
+#undef _GNU_SOURCE
#define _GNU_SOURCE
#include <unistd.h>
--
2.55.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] tools feature gettid: Undef _GNU_SOURCE before defining it
2026-09-28 12:02 [PATCH 1/1] tools feature gettid: Undef _GNU_SOURCE before defining it Arnaldo Carvalho de Melo
@ 2026-09-28 12:04 ` sashiko-bot
2026-09-28 12:09 ` Arnaldo Carvalho de Melo
2026-09-28 15:12 ` Ian Rogers
2 siblings, 0 replies; 5+ messages in thread
From: sashiko-bot @ 2026-09-28 12:04 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo; +Cc: linux-perf-users
> Since most of tools/build/feature/test-*.c feature tests are included in
> tools/build/feature/test-all.c, we can't just define _GNU_SOURCE as it
> may already been defined and this will break the build with:
>
> acme@alta:~$ cat /tmp/build/perf-tools-next/feature/test-all.make.output
> In file included from test-all.c:26:
> test-gettid.c:3:9: error: "_GNU_SOURCE" redefined [-Werror]
> 3 | #define _GNU_SOURCE
> | ^~~~~~~~~~~
> In file included from /usr/include/python3.13/pyconfig.h:9,
> from /usr/include/python3.13/Python.h:14,
> from test-python-module.c:2,
> from test-all.c:14:
> /usr/include/aarch64-linux-gnu/python3.13/pyconfig.h:1810:10: note: this is the location of the previous definition
> 1810 | # define _GNU_SOURCE 1
> | ^~~~~~~~~~~
> cc1: all warnings being treated as errors
> acme@alta:~$
>
> I.e. pyconfig.h is included by the new test-python-module.c, that is at
> the start of test-all.c, defines _GNU_SOURCE, noticed on Debian 13
> (/usr/include/aarch64-linux-gnu/python3.13/pyconfig.h, libpython
> 3.13.5-2+deb13u5), and then test-all.c includes test-gettid.c that was
> defining it as well, undef it first as does several other tests.
>
> Fixes: 1b7e0280e247b93d ("perf Makefile: Update Python script installation path")
> Cc: Ian Rogers <irogers@google.com>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Sashiko has reviewed this patch and found no issues. It looks great!
--
Sashiko AI review · https://sashiko.dev/#/patchset/arpXYeRUu3B-ouqB@x2?part=1
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] tools feature gettid: Undef _GNU_SOURCE before defining it
2026-09-28 12:02 [PATCH 1/1] tools feature gettid: Undef _GNU_SOURCE before defining it Arnaldo Carvalho de Melo
2026-09-28 12:04 ` sashiko-bot
@ 2026-09-28 12:09 ` Arnaldo Carvalho de Melo
2026-09-28 15:12 ` Ian Rogers
2 siblings, 0 replies; 5+ messages in thread
From: Arnaldo Carvalho de Melo @ 2026-09-28 12:09 UTC (permalink / raw)
To: Ian Rogers
Cc: Adrian Hunter, James Clark, Jiri Olsa, Namhyung Kim,
linux-perf-users
On Mon, Sep 28, 2026 at 02:02:45PM +0200, Arnaldo Carvalho de Melo wrote:
> Since most of tools/build/feature/test-*.c feature tests are included in
> tools/build/feature/test-all.c, we can't just define _GNU_SOURCE as it
> may already been defined and this will break the build with:
>
> acme@alta:~$ cat /tmp/build/perf-tools-next/feature/test-all.make.output
> In file included from test-all.c:26:
> test-gettid.c:3:9: error: "_GNU_SOURCE" redefined [-Werror]
> 3 | #define _GNU_SOURCE
> | ^~~~~~~~~~~
> In file included from /usr/include/python3.13/pyconfig.h:9,
> from /usr/include/python3.13/Python.h:14,
> from test-python-module.c:2,
> from test-all.c:14:
> /usr/include/aarch64-linux-gnu/python3.13/pyconfig.h:1810:10: note: this is the location of the previous definition
> 1810 | # define _GNU_SOURCE 1
> | ^~~~~~~~~~~
> cc1: all warnings being treated as errors
> acme@alta:~$
>
> I.e. pyconfig.h is included by the new test-python-module.c, that is at
> the start of test-all.c, defines _GNU_SOURCE, noticed on Debian 13
> (/usr/include/aarch64-linux-gnu/python3.13/pyconfig.h, libpython
> 3.13.5-2+deb13u5), and then test-all.c includes test-gettid.c that was
Noticed as well on fedora:
make: Leaving directory '/home/acme/git/perf-tools-next/tools/perf'
105: 'import perf' in python : Ok
=== Test Summary ===
Passed main tests : 1
Passed subtests : 0
Skipped tests : 0
Failed tests : 0
In file included from test-all.c:26:
test-gettid.c:3:9: error: ‘_GNU_SOURCE’ redefined [-Werror]
3 | #define _GNU_SOURCE
| ^~~~~~~~~~~
In file included from /usr/include/python3.14/pyconfig.h:6,
from /usr/include/python3.14/Python.h:14,
from test-python-module.c:2,
from test-all.c:14:
/usr/include/python3.14/pyconfig-64.h:1879:10: note: this is the location of the previous definition
1879 | # define _GNU_SOURCE 1
| ^~~~~~~~~~~
cc1: all warnings being treated as errors
⬢ [acme@toolbx perf-tools-next]$ head /etc/os-release
NAME="Fedora Linux"
VERSION="44 (Toolbx Container Image)"
RELEASE_TYPE=stable
ID=fedora
VERSION_ID=44
VERSION_CODENAME=""
PRETTY_NAME="Fedora Linux 44 (Toolbx Container Image)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:44"
⬢ [acme@toolbx perf-tools-next]$
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] tools feature gettid: Undef _GNU_SOURCE before defining it
2026-09-28 12:02 [PATCH 1/1] tools feature gettid: Undef _GNU_SOURCE before defining it Arnaldo Carvalho de Melo
2026-09-28 12:04 ` sashiko-bot
2026-09-28 12:09 ` Arnaldo Carvalho de Melo
@ 2026-09-28 15:12 ` Ian Rogers
2026-09-28 16:30 ` Arnaldo Carvalho de Melo
2 siblings, 1 reply; 5+ messages in thread
From: Ian Rogers @ 2026-09-28 15:12 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Adrian Hunter, James Clark, Jiri Olsa, Namhyung Kim,
linux-perf-users
On Mon, Sep 28, 2026 at 5:02 AM Arnaldo Carvalho de Melo
<acme@kernel.org> wrote:
>
> Since most of tools/build/feature/test-*.c feature tests are included in
> tools/build/feature/test-all.c, we can't just define _GNU_SOURCE as it
> may already been defined and this will break the build with:
>
> acme@alta:~$ cat /tmp/build/perf-tools-next/feature/test-all.make.output
> In file included from test-all.c:26:
> test-gettid.c:3:9: error: "_GNU_SOURCE" redefined [-Werror]
> 3 | #define _GNU_SOURCE
> | ^~~~~~~~~~~
> In file included from /usr/include/python3.13/pyconfig.h:9,
> from /usr/include/python3.13/Python.h:14,
> from test-python-module.c:2,
> from test-all.c:14:
> /usr/include/aarch64-linux-gnu/python3.13/pyconfig.h:1810:10: note: this is the location of the previous definition
> 1810 | # define _GNU_SOURCE 1
> | ^~~~~~~~~~~
> cc1: all warnings being treated as errors
> acme@alta:~$
>
> I.e. pyconfig.h is included by the new test-python-module.c, that is at
> the start of test-all.c, defines _GNU_SOURCE, noticed on Debian 13
> (/usr/include/aarch64-linux-gnu/python3.13/pyconfig.h, libpython
> 3.13.5-2+deb13u5), and then test-all.c includes test-gettid.c that was
> defining it as well, undef it first as does several other tests.
>
> Fixes: 1b7e0280e247b93d ("perf Makefile: Update Python script installation path")
> Cc: Ian Rogers <irogers@google.com>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Reviewed-by: Ian Rogers <irogers@google.com>
Thanks!
Ian
> ---
> tools/build/feature/test-gettid.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/tools/build/feature/test-gettid.c b/tools/build/feature/test-gettid.c
> index ef24e42d3f1b877d..a8fdb26196697b66 100644
> --- a/tools/build/feature/test-gettid.c
> +++ b/tools/build/feature/test-gettid.c
> @@ -1,5 +1,6 @@
> // SPDX-License-Identifier: GPL-2.0
> // Copyright (C) 2019, Red Hat Inc, Arnaldo Carvalho de Melo <acme@redhat.com>
> +#undef _GNU_SOURCE
> #define _GNU_SOURCE
> #include <unistd.h>
>
> --
> 2.55.0
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] tools feature gettid: Undef _GNU_SOURCE before defining it
2026-09-28 15:12 ` Ian Rogers
@ 2026-09-28 16:30 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 5+ messages in thread
From: Arnaldo Carvalho de Melo @ 2026-09-28 16:30 UTC (permalink / raw)
To: Ian Rogers
Cc: Adrian Hunter, James Clark, Jiri Olsa, Namhyung Kim,
linux-perf-users
On Mon, Sep 28, 2026 at 08:12:45AM -0700, Ian Rogers wrote:
> On Mon, Sep 28, 2026 at 5:02 AM Arnaldo Carvalho de Melo
> <acme@kernel.org> wrote:
> >
> > Since most of tools/build/feature/test-*.c feature tests are included in
> > tools/build/feature/test-all.c, we can't just define _GNU_SOURCE as it
> > may already been defined and this will break the build with:
> >
> > acme@alta:~$ cat /tmp/build/perf-tools-next/feature/test-all.make.output
> > In file included from test-all.c:26:
> > test-gettid.c:3:9: error: "_GNU_SOURCE" redefined [-Werror]
> > 3 | #define _GNU_SOURCE
> > | ^~~~~~~~~~~
> > In file included from /usr/include/python3.13/pyconfig.h:9,
> > from /usr/include/python3.13/Python.h:14,
> > from test-python-module.c:2,
> > from test-all.c:14:
> > /usr/include/aarch64-linux-gnu/python3.13/pyconfig.h:1810:10: note: this is the location of the previous definition
> > 1810 | # define _GNU_SOURCE 1
> > | ^~~~~~~~~~~
> > cc1: all warnings being treated as errors
> > acme@alta:~$
> >
> > I.e. pyconfig.h is included by the new test-python-module.c, that is at
> > the start of test-all.c, defines _GNU_SOURCE, noticed on Debian 13
> > (/usr/include/aarch64-linux-gnu/python3.13/pyconfig.h, libpython
> > 3.13.5-2+deb13u5), and then test-all.c includes test-gettid.c that was
> > defining it as well, undef it first as does several other tests.
> >
> > Fixes: 1b7e0280e247b93d ("perf Makefile: Update Python script installation path")
> > Cc: Ian Rogers <irogers@google.com>
> > Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> Reviewed-by: Ian Rogers <irogers@google.com>
Thanks, applied to perf-tools-next, for v7.4.
- Arnaldo
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-09-28 16:30 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-28 12:02 [PATCH 1/1] tools feature gettid: Undef _GNU_SOURCE before defining it Arnaldo Carvalho de Melo
2026-09-28 12:04 ` sashiko-bot
2026-09-28 12:09 ` Arnaldo Carvalho de Melo
2026-09-28 15:12 ` Ian Rogers
2026-09-28 16:30 ` Arnaldo Carvalho de Melo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.