[v1,00/13] Perf tool build improvements

Message ID 20230311065753.3012826-1-irogers@google.com
Headers
Series Perf tool build improvements |

Message

Ian Rogers March 11, 2023, 6:57 a.m. UTC
  Make the default build options a more preferred set, such as making
BPF skeletons default and failing the build if jevents or libtracevent
dependencies fail. The binutil dependencies are opt-in given license
restrictions. abi::__cxa_demangle demangling support is added so that
libiberty, from binutils, isn't necessary for C++ demangling.

Some build/test dependencies are fixed and the code cleaned up.

Ian Rogers (13):
  perf build: Support python/perf.so testing
  perf build: Make BUILD_BPF_SKEL default, rename to NO_BPF_SKEL
  perf build: Remove unused HAVE_GLIBC_SUPPORT
  perf build: Error if no libelf and NO_LIBELF isn't set
  perf util: Remove weak sched_getcpu
  perf build: Error if jevents won't work and NO_JEVENTS=1 isn't set
  perf build: Make binutil libraries opt in
  tools build: Add feature test for abi::__cxa_demangle
  perf symbol: Add abi::__cxa_demangle C++ demangling support
  perf build: Switch libpfm4 to opt-out rather than opt-in
  perf build: If libtraceevent isn't present error the build
  tools headers: Make the difference output easier to read
  perf build: Remove redundant NO_NEWT build option

 tools/build/Makefile.feature              |   1 +
 tools/build/feature/Makefile              |   4 +
 tools/build/feature/test-cxa-demangle.cpp |  17 ++
 tools/perf/Makefile.config                |  84 +++-----
 tools/perf/Makefile.perf                  |  21 +-
 tools/perf/builtin-lock.c                 |   2 +-
 tools/perf/builtin-record.c               |   2 +-
 tools/perf/builtin-version.c              |   2 +-
 tools/perf/check-headers.sh               | 229 ++++++++++++----------
 tools/perf/tests/make                     |  17 +-
 tools/perf/tests/shell/record_offcpu.sh   |   2 +-
 tools/perf/util/Build                     |   1 +
 tools/perf/util/cloexec.c                 |  13 --
 tools/perf/util/demangle-cxx.cpp          |  50 +++++
 tools/perf/util/demangle-cxx.h            |  16 ++
 tools/perf/util/symbol-elf.c              |  37 +---
 tools/perf/util/util.c                    |  16 ++
 17 files changed, 294 insertions(+), 220 deletions(-)
 create mode 100644 tools/build/feature/test-cxa-demangle.cpp
 create mode 100644 tools/perf/util/demangle-cxx.cpp
 create mode 100644 tools/perf/util/demangle-cxx.h
  

Comments

Arnaldo Carvalho de Melo March 14, 2023, 12:11 p.m. UTC | #1
Em Fri, Mar 10, 2023 at 10:57:40PM -0800, Ian Rogers escreveu:
> Make the default build options a more preferred set, such as making
> BPF skeletons default and failing the build if jevents or libtracevent
> dependencies fail. The binutil dependencies are opt-in given license
> restrictions. abi::__cxa_demangle demangling support is added so that
> libiberty, from binutils, isn't necessary for C++ demangling.
> 
> Some build/test dependencies are fixed and the code cleaned up.

I'll continue fixing more stuff, like adding NO_LIBTRACEEVENT=1 to
things like amazonlinux devel, that still doesn't package libtraceevent,
but so far...

[perfbuilder@five ~]$ export BUILD_TARBALL=http://192.168.86.10/perf/perf-6.3.0-rc1.tar.xz
[perfbuilder@five ~]$ time dm
   1     5.58 almalinux:8                   : FAIL gcc version 8.5.0 20210514 (Red Hat 8.5.0-4) (GCC)
   2     5.38 almalinux:9                   : FAIL gcc version 11.2.1 20220127 (Red Hat 11.2.1-9) (GCC)
   3     4.57 alpine:3.15                   : FAIL gcc version 10.3.1 20211027 (Alpine 10.3.1_git20211027)
   4     4.27 alpine:3.16                   : FAIL gcc version 11.2.1 20220219 (Alpine 11.2.1_git20220219)
   5     4.27 alpine:3.17                   : FAIL gcc version 12.2.1 20220924 (Alpine 12.2.1_git20220924-r4)
   6     4.67 alpine:edge                   : FAIL gcc version 12.2.1 20220924 (Alpine 12.2.1_git20220924-r9)
   7     4.47 alt:p9                        : FAIL gcc version 8.4.1 20200305 (ALT p9 8.4.1-alt0.p9.1) (GCC)
   8     4.58 alt:p10                       : FAIL gcc version 10.3.1 20210703 (ALT Sisyphus 10.3.1-alt2) (GCC)
   9     4.57 alt:sisyphus                  : FAIL gcc version 12.1.1 20220518 (ALT Sisyphus 12.1.1-alt2) (GCC)
  10     3.97 amazonlinux:2                 : FAIL gcc version 7.3.1 20180712 (Red Hat 7.3.1-15) (GCC)
  11     5.77 amazonlinux:devel             : FAIL gcc version 11.3.1 20220421 (Red Hat 11.3.1-2) (GCC)
  12   160.30 archlinux:base                : Ok   gcc (GCC) 12.2.0 , clang version 14.0.6
  13     4.68 centos:8                      : FAIL gcc version 8.4.1 20200928 (Red Hat 8.4.1-1) (GCC)
  14     5.07 centos:stream                 : FAIL gcc version 8.5.0 20210514 (Red Hat 8.5.0-18) (GCC)
  15     5.27 clearlinux:latest             : FAIL gcc version 12.2.1 20230202 releases/gcc-12.2.0-400-gd31bd71386 (Clear Linux OS for Intel Architecture)
  16     3.37 debian:10                     : FAIL gcc version 8.3.0 (Debian 8.3.0-6)
  17     3.57 debian:11                     : FAIL gcc version 10.2.1 20210110 (Debian 10.2.1-6)
  18     4.08 debian:experimental           : FAIL gcc version 12.2.0 (Debian 12.2.0-10)
  19     3.78 debian:experimental-x-arm64   : FAIL gcc version 12.2.0 (Debian 12.2.0-14)
  20     2.77 debian:experimental-x-mips    : FAIL gcc version 12.2.0 (Debian 12.2.0-14)
  21     3.47 debian:experimental-x-mips64  : FAIL gcc version 10.2.1 20210110 (Debian 10.2.1-6)
  22     3.47 debian:experimental-x-mipsel  : FAIL gcc version 12.2.0 (Debian 12.2.0-14)
  23     4.37 fedora:26                     : FAIL gcc version 7.3.1 20180130 (Red Hat 7.3.1-2) (GCC)
  24     4.27 fedora:27                     : FAIL gcc version 7.3.1 20180712 (Red Hat 7.3.1-6) (GCC)
  25     4.27 fedora:28                     : FAIL gcc version 8.3.1 20190223 (Red Hat 8.3.1-2) (GCC)
  26     4.87 fedora:29                     : FAIL gcc version 8.3.1 20190223 (Red Hat 8.3.1-2) (GCC)
  27     4.97 fedora:30                     : FAIL gcc version 9.3.1 20200408 (Red Hat 9.3.1-2) (GCC)
  28     5.38 fedora:31                     : FAIL gcc version 9.3.1 20200408 (Red Hat 9.3.1-2) (GCC)
  29     5.48 fedora:32                     : FAIL gcc version 10.3.1 20210422 (Red Hat 10.3.1-1) (GCC)


Yeah, I'll take the opportunity and prune the older ones.

- Arnaldo
  
Arnaldo Carvalho de Melo March 14, 2023, 12:12 p.m. UTC | #2
Em Tue, Mar 14, 2023 at 09:11:04AM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Fri, Mar 10, 2023 at 10:57:40PM -0800, Ian Rogers escreveu:
> > Make the default build options a more preferred set, such as making
> > BPF skeletons default and failing the build if jevents or libtracevent
> > dependencies fail. The binutil dependencies are opt-in given license
> > restrictions. abi::__cxa_demangle demangling support is added so that
> > libiberty, from binutils, isn't necessary for C++ demangling.
> > 
> > Some build/test dependencies are fixed and the code cleaned up.
> 
> I'll continue fixing more stuff, like adding NO_LIBTRACEEVENT=1 to
> things like amazonlinux devel, that still doesn't package libtraceevent,
> but so far...
> 
> [perfbuilder@five ~]$ export BUILD_TARBALL=http://192.168.86.10/perf/perf-6.3.0-rc1.tar.xz
> [perfbuilder@five ~]$ time dm
>    1     5.58 almalinux:8                   : FAIL gcc version 8.5.0 20210514 (Red Hat 8.5.0-4) (GCC)
>    2     5.38 almalinux:9                   : FAIL gcc version 11.2.1 20220127 (Red Hat 11.2.1-9) (GCC)
>    3     4.57 alpine:3.15                   : FAIL gcc version 10.3.1 20211027 (Alpine 10.3.1_git20211027)
>    4     4.27 alpine:3.16                   : FAIL gcc version 11.2.1 20220219 (Alpine 11.2.1_git20220219)
>    5     4.27 alpine:3.17                   : FAIL gcc version 12.2.1 20220924 (Alpine 12.2.1_git20220924-r4)
>    6     4.67 alpine:edge                   : FAIL gcc version 12.2.1 20220924 (Alpine 12.2.1_git20220924-r9)
>    7     4.47 alt:p9                        : FAIL gcc version 8.4.1 20200305 (ALT p9 8.4.1-alt0.p9.1) (GCC)
>    8     4.58 alt:p10                       : FAIL gcc version 10.3.1 20210703 (ALT Sisyphus 10.3.1-alt2) (GCC)
>    9     4.57 alt:sisyphus                  : FAIL gcc version 12.1.1 20220518 (ALT Sisyphus 12.1.1-alt2) (GCC)
>   10     3.97 amazonlinux:2                 : FAIL gcc version 7.3.1 20180712 (Red Hat 7.3.1-15) (GCC)
>   11     5.77 amazonlinux:devel             : FAIL gcc version 11.3.1 20220421 (Red Hat 11.3.1-2) (GCC)
>   12   160.30 archlinux:base                : Ok   gcc (GCC) 12.2.0 , clang version 14.0.6
>   13     4.68 centos:8                      : FAIL gcc version 8.4.1 20200928 (Red Hat 8.4.1-1) (GCC)
>   14     5.07 centos:stream                 : FAIL gcc version 8.5.0 20210514 (Red Hat 8.5.0-18) (GCC)
>   15     5.27 clearlinux:latest             : FAIL gcc version 12.2.1 20230202 releases/gcc-12.2.0-400-gd31bd71386 (Clear Linux OS for Intel Architecture)
>   16     3.37 debian:10                     : FAIL gcc version 8.3.0 (Debian 8.3.0-6)
>   17     3.57 debian:11                     : FAIL gcc version 10.2.1 20210110 (Debian 10.2.1-6)
>   18     4.08 debian:experimental           : FAIL gcc version 12.2.0 (Debian 12.2.0-10)
>   19     3.78 debian:experimental-x-arm64   : FAIL gcc version 12.2.0 (Debian 12.2.0-14)
>   20     2.77 debian:experimental-x-mips    : FAIL gcc version 12.2.0 (Debian 12.2.0-14)
>   21     3.47 debian:experimental-x-mips64  : FAIL gcc version 10.2.1 20210110 (Debian 10.2.1-6)
>   22     3.47 debian:experimental-x-mipsel  : FAIL gcc version 12.2.0 (Debian 12.2.0-14)
>   23     4.37 fedora:26                     : FAIL gcc version 7.3.1 20180130 (Red Hat 7.3.1-2) (GCC)
>   24     4.27 fedora:27                     : FAIL gcc version 7.3.1 20180712 (Red Hat 7.3.1-6) (GCC)
>   25     4.27 fedora:28                     : FAIL gcc version 8.3.1 20190223 (Red Hat 8.3.1-2) (GCC)
>   26     4.87 fedora:29                     : FAIL gcc version 8.3.1 20190223 (Red Hat 8.3.1-2) (GCC)
>   27     4.97 fedora:30                     : FAIL gcc version 9.3.1 20200408 (Red Hat 9.3.1-2) (GCC)
>   28     5.38 fedora:31                     : FAIL gcc version 9.3.1 20200408 (Red Hat 9.3.1-2) (GCC)
>   29     5.48 fedora:32                     : FAIL gcc version 10.3.1 20210422 (Red Hat 10.3.1-1) (GCC)
> 
> 
> Yeah, I'll take the opportunity and prune the older ones.

One more!

  30   181.19 fedora:33                     : Ok   gcc (GCC) 10.3.1 20210422 (Red Hat 10.3.1-1) , clang version 11.0.0 (Fedora 11.0.0-3.fc33)
  
Adrian Hunter March 14, 2023, 12:21 p.m. UTC | #3
On 14/03/23 14:11, Arnaldo Carvalho de Melo wrote:
> Em Fri, Mar 10, 2023 at 10:57:40PM -0800, Ian Rogers escreveu:
>> Make the default build options a more preferred set, such as making
>> BPF skeletons default and failing the build if jevents or libtracevent
>> dependencies fail. The binutil dependencies are opt-in given license
>> restrictions. abi::__cxa_demangle demangling support is added so that
>> libiberty, from binutils, isn't necessary for C++ demangling.
>>
>> Some build/test dependencies are fixed and the code cleaned up.
> 
> I'll continue fixing more stuff, like adding NO_LIBTRACEEVENT=1 to
> things like amazonlinux devel, that still doesn't package libtraceevent,

FYI I'm currently testing a patch to allow python scripting without
also requiring libtraceevent
  
Arnaldo Carvalho de Melo March 14, 2023, 12:27 p.m. UTC | #4
Em Tue, Mar 14, 2023 at 09:12:03AM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Tue, Mar 14, 2023 at 09:11:04AM -0300, Arnaldo Carvalho de Melo escreveu:
> > Em Fri, Mar 10, 2023 at 10:57:40PM -0800, Ian Rogers escreveu:
> > > Make the default build options a more preferred set, such as making
> > > BPF skeletons default and failing the build if jevents or libtracevent
> > > dependencies fail. The binutil dependencies are opt-in given license
> > > restrictions. abi::__cxa_demangle demangling support is added so that
> > > libiberty, from binutils, isn't necessary for C++ demangling.
> > > 
> > > Some build/test dependencies are fixed and the code cleaned up.
> > 
> > I'll continue fixing more stuff, like adding NO_LIBTRACEEVENT=1 to
> > things like amazonlinux devel, that still doesn't package libtraceevent,
> > but so far...
> > 
> > [perfbuilder@five ~]$ export BUILD_TARBALL=http://192.168.86.10/perf/perf-6.3.0-rc1.tar.xz
> > [perfbuilder@five ~]$ time dm
> >    1     5.58 almalinux:8                   : FAIL gcc version 8.5.0 20210514 (Red Hat 8.5.0-4) (GCC)
> >    2     5.38 almalinux:9                   : FAIL gcc version 11.2.1 20220127 (Red Hat 11.2.1-9) (GCC)

This one seems to have an old libtraceevent, so this message:

Makefile.config:635: No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR
Makefile.config:1046: No libbabeltrace found, disables 'perf data' CTF format support, please install libbabeltrace-dev[el]/libbabeltrace-ctf-dev
Makefile.config:1137: libpfm4 not found, disables libpfm4 support. Please install libpfm4-dev
Makefile.config:1155: *** ERROR: libtraceevent is missing. Please install libtraceevent-dev/libtraceevent-devel or build with NO_LIBTRACEEVENT=1.  Stop.

Has to change a bit, like for libbpf, I'll check

> >    3     4.57 alpine:3.15                   : FAIL gcc version 10.3.1 20211027 (Alpine 10.3.1_git20211027)
> >    4     4.27 alpine:3.16                   : FAIL gcc version 11.2.1 20220219 (Alpine 11.2.1_git20220219)
> >    5     4.27 alpine:3.17                   : FAIL gcc version 12.2.1 20220924 (Alpine 12.2.1_git20220924-r4)
> >    6     4.67 alpine:edge                   : FAIL gcc version 12.2.1 20220924 (Alpine 12.2.1_git20220924-r9)
> >    7     4.47 alt:p9                        : FAIL gcc version 8.4.1 20200305 (ALT p9 8.4.1-alt0.p9.1) (GCC)
> >    8     4.58 alt:p10                       : FAIL gcc version 10.3.1 20210703 (ALT Sisyphus 10.3.1-alt2) (GCC)
> >    9     4.57 alt:sisyphus                  : FAIL gcc version 12.1.1 20220518 (ALT Sisyphus 12.1.1-alt2) (GCC)
> >   10     3.97 amazonlinux:2                 : FAIL gcc version 7.3.1 20180712 (Red Hat 7.3.1-15) (GCC)
> >   11     5.77 amazonlinux:devel             : FAIL gcc version 11.3.1 20220421 (Red Hat 11.3.1-2) (GCC)
> >   12   160.30 archlinux:base                : Ok   gcc (GCC) 12.2.0 , clang version 14.0.6
> >   13     4.68 centos:8                      : FAIL gcc version 8.4.1 20200928 (Red Hat 8.4.1-1) (GCC)
> >   14     5.07 centos:stream                 : FAIL gcc version 8.5.0 20210514 (Red Hat 8.5.0-18) (GCC)
> >   15     5.27 clearlinux:latest             : FAIL gcc version 12.2.1 20230202 releases/gcc-12.2.0-400-gd31bd71386 (Clear Linux OS for Intel Architecture)
> >   16     3.37 debian:10                     : FAIL gcc version 8.3.0 (Debian 8.3.0-6)
> >   17     3.57 debian:11                     : FAIL gcc version 10.2.1 20210110 (Debian 10.2.1-6)
> >   18     4.08 debian:experimental           : FAIL gcc version 12.2.0 (Debian 12.2.0-10)
> >   19     3.78 debian:experimental-x-arm64   : FAIL gcc version 12.2.0 (Debian 12.2.0-14)
> >   20     2.77 debian:experimental-x-mips    : FAIL gcc version 12.2.0 (Debian 12.2.0-14)
> >   21     3.47 debian:experimental-x-mips64  : FAIL gcc version 10.2.1 20210110 (Debian 10.2.1-6)
> >   22     3.47 debian:experimental-x-mipsel  : FAIL gcc version 12.2.0 (Debian 12.2.0-14)
> >   23     4.37 fedora:26                     : FAIL gcc version 7.3.1 20180130 (Red Hat 7.3.1-2) (GCC)
> >   24     4.27 fedora:27                     : FAIL gcc version 7.3.1 20180712 (Red Hat 7.3.1-6) (GCC)
> >   25     4.27 fedora:28                     : FAIL gcc version 8.3.1 20190223 (Red Hat 8.3.1-2) (GCC)
> >   26     4.87 fedora:29                     : FAIL gcc version 8.3.1 20190223 (Red Hat 8.3.1-2) (GCC)
> >   27     4.97 fedora:30                     : FAIL gcc version 9.3.1 20200408 (Red Hat 9.3.1-2) (GCC)
> >   28     5.38 fedora:31                     : FAIL gcc version 9.3.1 20200408 (Red Hat 9.3.1-2) (GCC)
> >   29     5.48 fedora:32                     : FAIL gcc version 10.3.1 20210422 (Red Hat 10.3.1-1) (GCC)
> > 
> > 
> > Yeah, I'll take the opportunity and prune the older ones.
> 
> One more!
> 
>   30   181.19 fedora:33                     : Ok   gcc (GCC) 10.3.1 20210422 (Red Hat 10.3.1-1) , clang version 11.0.0 (Fedora 11.0.0-3.fc33)
>
  
Arnaldo Carvalho de Melo March 14, 2023, 12:28 p.m. UTC | #5
Em Tue, Mar 14, 2023 at 02:21:23PM +0200, Adrian Hunter escreveu:
> On 14/03/23 14:11, Arnaldo Carvalho de Melo wrote:
> > Em Fri, Mar 10, 2023 at 10:57:40PM -0800, Ian Rogers escreveu:
> >> Make the default build options a more preferred set, such as making
> >> BPF skeletons default and failing the build if jevents or libtracevent
> >> dependencies fail. The binutil dependencies are opt-in given license
> >> restrictions. abi::__cxa_demangle demangling support is added so that
> >> libiberty, from binutils, isn't necessary for C++ demangling.
> >>
> >> Some build/test dependencies are fixed and the code cleaned up.
> > 
> > I'll continue fixing more stuff, like adding NO_LIBTRACEEVENT=1 to
> > things like amazonlinux devel, that still doesn't package libtraceevent,
> 
> FYI I'm currently testing a patch to allow python scripting without
> also requiring libtraceevent

Cool!

- Arnaldo
  
Arnaldo Carvalho de Melo March 14, 2023, 12:29 p.m. UTC | #6
Em Tue, Mar 14, 2023 at 09:27:46AM -0300, Arnaldo Carvalho de Melo escreveu:
> > >    3     4.57 alpine:3.15                   : FAIL gcc version 10.3.1 20211027 (Alpine 10.3.1_git20211027)
> > >    4     4.27 alpine:3.16                   : FAIL gcc version 11.2.1 20220219 (Alpine 11.2.1_git20220219)
> > >    5     4.27 alpine:3.17                   : FAIL gcc version 12.2.1 20220924 (Alpine 12.2.1_git20220924-r4)
> > >    6     4.67 alpine:edge                   : FAIL gcc version 12.2.1 20220924 (Alpine 12.2.1_git20220924-r9)
> > >    7     4.47 alt:p9                        : FAIL gcc version 8.4.1 20200305 (ALT p9 8.4.1-alt0.p9.1) (GCC)
> > >    8     4.58 alt:p10                       : FAIL gcc version 10.3.1 20210703 (ALT Sisyphus 10.3.1-alt2) (GCC)
> > >    9     4.57 alt:sisyphus                  : FAIL gcc version 12.1.1 20220518 (ALT Sisyphus 12.1.1-alt2) (GCC)
> > >   10     3.97 amazonlinux:2                 : FAIL gcc version 7.3.1 20180712 (Red Hat 7.3.1-15) (GCC)
> > >   11     5.77 amazonlinux:devel             : FAIL gcc version 11.3.1 20220421 (Red Hat 11.3.1-2) (GCC)
> > >   12   160.30 archlinux:base                : Ok   gcc (GCC) 12.2.0 , clang version 14.0.6
> > >   13     4.68 centos:8                      : FAIL gcc version 8.4.1 20200928 (Red Hat 8.4.1-1) (GCC)
> > >   14     5.07 centos:stream                 : FAIL gcc version 8.5.0 20210514 (Red Hat 8.5.0-18) (GCC)
> > >   15     5.27 clearlinux:latest             : FAIL gcc version 12.2.1 20230202 releases/gcc-12.2.0-400-gd31bd71386 (Clear Linux OS for Intel Architecture)
> > >   16     3.37 debian:10                     : FAIL gcc version 8.3.0 (Debian 8.3.0-6)
> > >   17     3.57 debian:11                     : FAIL gcc version 10.2.1 20210110 (Debian 10.2.1-6)
> > >   18     4.08 debian:experimental           : FAIL gcc version 12.2.0 (Debian 12.2.0-10)
> > >   19     3.78 debian:experimental-x-arm64   : FAIL gcc version 12.2.0 (Debian 12.2.0-14)
> > >   20     2.77 debian:experimental-x-mips    : FAIL gcc version 12.2.0 (Debian 12.2.0-14)
> > >   21     3.47 debian:experimental-x-mips64  : FAIL gcc version 10.2.1 20210110 (Debian 10.2.1-6)
> > >   22     3.47 debian:experimental-x-mipsel  : FAIL gcc version 12.2.0 (Debian 12.2.0-14)
> > >   23     4.37 fedora:26                     : FAIL gcc version 7.3.1 20180130 (Red Hat 7.3.1-2) (GCC)
> > >   24     4.27 fedora:27                     : FAIL gcc version 7.3.1 20180712 (Red Hat 7.3.1-6) (GCC)
> > >   25     4.27 fedora:28                     : FAIL gcc version 8.3.1 20190223 (Red Hat 8.3.1-2) (GCC)
> > >   26     4.87 fedora:29                     : FAIL gcc version 8.3.1 20190223 (Red Hat 8.3.1-2) (GCC)
> > >   27     4.97 fedora:30                     : FAIL gcc version 9.3.1 20200408 (Red Hat 9.3.1-2) (GCC)
> > >   28     5.38 fedora:31                     : FAIL gcc version 9.3.1 20200408 (Red Hat 9.3.1-2) (GCC)
> > >   29     5.48 fedora:32                     : FAIL gcc version 10.3.1 20210422 (Red Hat 10.3.1-1) (GCC)
> > > 
> > > 
> > > Yeah, I'll take the opportunity and prune the older ones.
> > 
> > One more!
> > 
> >   30   181.19 fedora:33                     : Ok   gcc (GCC) 10.3.1 20210422 (Red Hat 10.3.1-1) , clang version 11.0.0 (Fedora 11.0.0-3.fc33)

 31   222.81 fedora:34                     : Ok   gcc (GCC) 11.3.1 20220421 (Red Hat 11.3.1-2) , clang version 12.0.1 (Fedora 12.0.1-1.fc34)
  32     3.07 fedora:34-x-ARC-glibc         : FAIL gcc version 8.3.1 20190225 (ARC HS GNU/Linux glibc toolchain 2019.03-rc1)
  33     2.67 fedora:34-x-ARC-uClibc        : FAIL gcc version 8.3.1 20190225 (ARCv2 ISA Linux uClibc toolchain 2019.03-rc1)
  34   182.17 fedora:35                     : Ok   gcc (GCC) 11.3.1 20220421 (Red Hat 11.3.1-3) , clang version 13.0.1 (Fedora 13.0.1-1.fc35)
  35   180.73 fedora:36                     : Ok   gcc (GCC) 12.2.1 20221121 (Red Hat 12.2.1-4) , clang version 14.0.5 (Fedora 14.0.5-2.fc36)
  36   179.27 fedora:37                     : Ok   gcc (GCC) 12.2.1 20221121 (Red Hat 12.2.1-4) , clang version 15.0.7 (Fedora 15.0.7-1.fc37)
  37   169.45 fedora:38                     : Ok   gcc (GCC) 13.0.1 20230208 (Red Hat 13.0.1-0) , clang version 15.0.7 (Fedora 15.0.7-2.fc38)