Re: [backport PATCH 0/2] stable v5.15, v5.10 and v5.4: fix perf build errors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 17, 2023 at 5:30 AM Anders Roxell <anders.roxell@xxxxxxxxxx> wrote:
>
> Hi,
>
> I would like to see these patches backported. They are needed so perf
> can be cross compiled with gcc on v5.15, v5.10 and v5.4.

Thanks Anders, why not just use the latest perf for these kernels?
Perhaps this discussion is relevant:
https://lore.kernel.org/linux-perf-users/0b1c5f9af241327786a996a3ddd61602b5a15987.camel@xxxxxxxxxxxxxxx/

Thanks,
Ian

> I built it with tuxmake [1] here are two example commandlines:
> tuxmake --runtime podman --target-arch arm64 --toolchain gcc-12 --kconfig defconfig perf
> tuxmake --runtime podman --target-arch x86_64 --toolchain gcc-12 --kconfig defconfig perf
>
> Tried to build perf with both gcc-11 and gcc-12.
>
> Patch 'tools perf: Fix compilation error with new binutils'
> and 'tools build: Add feature test for init_disassemble_info API changes'
> didn't apply cleanly, thats why I send these in a patchset.
>
> When apply 'tools build: Add feature test for
> init_disassemble_info API changes' to 5.4 it will be a minor merge
> conflict, do you want me to send this patch in two separate patches one
> for 5.4 and another for v5.10?
>
> The sha for these two patches in mainline are.
> cfd59ca91467 tools build: Add feature test for init_disassemble_info API changes
> 83aa0120487e tools perf: Fix compilation error with new binutils
>
> The above patches solves these:
> util/annotate.c: In function 'symbol__disassemble_bpf':
> util/annotate.c:1729:9: error: too few arguments to function 'init_disassemble_info'
>  1729 |         init_disassemble_info(&info, s,
>       |         ^~~~~~~~~~~~~~~~~~~~~
>
>
> Please apply these to v5.10 and v5.4
> a45b3d692623 tools include: add dis-asm-compat.h to handle version differences
> d08c84e01afa perf sched: Cast PTHREAD_STACK_MIN to int as it may turn into sysconf(__SC_THREAD_STACK>
>
> The above patches solves these:
> /home/anders/src/kernel/stable-5.10/tools/include/linux/kernel.h:43:24: error: comparison of distinct pointer types lacks a cast [-Werror]
>    43 |         (void) (&_max1 == &_max2);              \
>       |                        ^~
> builtin-sched.c:673:34: note: in expansion of macro 'max'
>   673 |                         (size_t) max(16 * 1024, PTHREAD_STACK_MIN));
>       |                                  ^~~
>
>
> Please apply these to v5.15, v5.10 and v5.4
> 8e8bf60a6754 perf build: Fixup disabling of -Wdeprecated-declarations for the python scripting engine
> 4ee3c4da8b1b perf scripting python: Do not build fail on deprecation warnings
> 63a4354ae75c perf scripting perl: Ignore some warnings to keep building with perl headers
>
> Build error that the above 3 patches solves are:
> /usr/lib/x86_64-linux-gnu/perl/5.36/CORE/handy.h:125:23: error: cast from function call of type 'STRLEN' {aka 'long unsigned int'} to non-matching type '_Bool' [-Werror=bad-function-cast]
>   125 | #define cBOOL(cbool) ((bool) (cbool))
>       |                       ^
>
> Cheers,
> Anders
> [1] https://tuxmake.org/
>
> Andres Freund (2):
>   tools perf: Fix compilation error with new binutils
>   tools build: Add feature test for init_disassemble_info API changes
>
>  tools/build/Makefile.feature                        |  1 +
>  tools/build/feature/Makefile                        |  4 ++++
>  tools/build/feature/test-all.c                      |  4 ++++
>  tools/build/feature/test-disassembler-init-styled.c | 13 +++++++++++++
>  tools/perf/Makefile.config                          |  8 ++++++++
>  tools/perf/util/annotate.c                          |  7 ++++---
>  6 files changed, 34 insertions(+), 3 deletions(-)
>  create mode 100644 tools/build/feature/test-disassembler-init-styled.c
>
> --
> 2.39.2
>




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux