Re: [PATCH v1 4/6] perf build: Disable fewer flex warnings

From: Arnaldo Carvalho de Melo
Date: Mon Jul 31 2023 - 22:30:09 EST


Em Mon, Jul 31, 2023 at 06:16:38PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Fri, Jul 28, 2023 at 12:05:56PM -0700, Ian Rogers escreveu:
> > On Fri, Jul 28, 2023, 11:43 AM Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> > > > I haven't checked, lemme do it now.
>
> > > It comes directly from flex's m4 files:
>
> > > https://github.com/westes/flex/blob/master/src/c99-flex.skl#L2044
>
> > > So I'll keep the -Wno-misleading-indentation, ok?
>
> > Makes sense, yes.
>
> continuing, changed the version check to:

> Committer notes:
>
> Added this to the list of ignored warnings to get it building on
> a Fedora 36 machine with flex 2.6.4:
>
> -Wno-misleading-indentation
>
> Noticed when building with:
>
> $ make LLVM=1 -C tools/perf NO_BPF_SKEL=1 DEBUG=1
>
> Take two:
>
> We can't just try to canonicalize flex versions by just removing the
> dots, as we end up with:
>
> 2.6.4 >= 2.5.37
>
> becoming:
>
> 264 >= 2537
>
> Failing the build on flex 2.5.37, so instead use the back to the past
> added $(call version_ge3,2.6.4,$(FLEX_VERSION)) variant to check for
> that.
>
> Making sure $(FLEX_VERSION) keeps the dots as we may want to use 'sort
> -V' or something nicer when available everywhere.

Please take a look at the tmp.perf-tools-next on the perf-tools-next git
tree, so far it passed on:

[perfbuilder@five ~]$ export BUILD_TARBALL=http://192.168.86.10/perf/perf-6.5.0-rc2.tar.xz
[perfbuilder@five ~]$ time dm
1 131.37 almalinux:8 : Ok gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-18) , clang version 15.0.7 (Red Hat 15.0.7-1.module_el8.8.0+3466+dfcbc058) flex 2.6.1
2 133.63 almalinux:9 : Ok gcc (GCC) 11.3.1 20221121 (Red Hat 11.3.1-4) , clang version 15.0.7 (Red Hat 15.0.7-2.el9) flex 2.6.4
3 151.31 alpine:3.15 : Ok gcc (Alpine 10.3.1_git20211027) 10.3.1 20211027 , Alpine clang version 12.0.1 flex 2.6.4
4 148.73 alpine:3.16 : Ok gcc (Alpine 11.2.1_git20220219) 11.2.1 20220219 , Alpine clang version 13.0.1 flex 2.6.4
5 126.35 alpine:3.17 : Ok gcc (Alpine 12.2.1_git20220924-r4) 12.2.1 20220924 , Alpine clang version 15.0.7 flex 2.6.4
6 125.43 alpine:3.18 : Ok gcc (Alpine 12.2.1_git20220924-r10) 12.2.1 20220924 , Alpine clang version 16.0.6 flex 2.6.4
7 143.12 alpine:edge : Ok gcc (Alpine 13.1.1_git20230520) 13.1.1 20230520 , Alpine clang version 16.0.4 flex 2.6.4
8 102.10 amazonlinux:2 : Ok gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-15) , clang version 11.1.0 (Amazon Linux 2 11.1.0-1.amzn2.0.2) flex 2.5.37
9 95.36 amazonlinux:2023 : Ok gcc (GCC) 11.3.1 20221121 (Red Hat 11.3.1-4) , clang version 15.0.6 (Amazon Linux 15.0.6-3.amzn2023.0.2) flex 2.6.4
10 96.15 amazonlinux:devel : Ok gcc (GCC) 11.3.1 20221121 (Red Hat 11.3.1-4) , clang version 15.0.6 (Amazon Linux 15.0.6-3.amzn2023.0.2) flex 2.6.4
11 118.48 archlinux:base : Ok gcc (GCC) 12.2.0 , clang version 14.0.6 flex 2.6.4
12 106.42 centos:stream : Ok gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-18) , clang version 15.0.7 (Red Hat 15.0.7-1.module_el8.8.0+1258+af79b238) flex 2.6.1
13 127.88 clearlinux:latest : Ok gcc (Clear Linux OS for Intel Architecture) 13.1.1 20230720 releases/gcc-13.1.0-353-g9aac37ab8a , clang version 16.0.6 flex 2.6.4
14 88.12 debian:10 : Ok gcc (Debian 8.3.0-6) 8.3.0 , Debian clang version 11.0.1-2~deb10u1 flex 2.6.4
15 113.56 debian:11 : Ok gcc (Debian 10.2.1-6) 10.2.1 20210110 , Debian clang version 13.0.1-6~deb11u1 flex 2.6.4
16 122.58 debian:12 : Ok gcc (Debian 12.2.0-14) 12.2.0 , Debian clang version 14.0.6 flex 2.6.4
17 130.89 debian:experimental : Ok gcc (Debian 12.3.0-5) 12.3.0 , Debian clang version 14.0.6 flex 2.6.4
18 23.75 fedora:26 : Ok gcc (GCC) 7.3.1 20180130 (Red Hat 7.3.1-2) flex 2.6.1
19 23.52 fedora:27 : Ok gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-6) flex 2.6.1
20 24.66 fedora:28 : Ok gcc (GCC) 8.3.1 20190223 (Red Hat 8.3.1-2) flex 2.6.1
21 26.12 fedora:29 : Ok gcc (GCC) 8.3.1 20190223 (Red Hat 8.3.1-2) flex 2.6.1
22 26.06 fedora:30 : Ok gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2) flex 2.6.4

Tomorrow I'll go back to perf-tools, to get what sat on linux-next
pending-fixes and a few other fixes (the one reported by Thomas, etc)
to send to Linus for v6.5.

- Arnaldo