linuxPackages.perf: use binutils-2.38 for linux before 5.19

Without the change perf build fails on binutils-2.39 due to API change:

util/annotate.c: In function 'symbol__disassemble_bpf':
util/annotate.c:1765:9: error: too few arguments to function 'init_disassemble_info'
 1765 |         init_disassemble_info(&info, s,
      |         ^~~~~~~~~~~~~~~~~~~~~
This commit is contained in:
Sergei Trofimovich 2022-08-24 07:23:07 +01:00
parent 8329438e9d
commit 19b8b523c9

View file

@ -1,6 +1,6 @@
{ lib, stdenv, fetchpatch, kernel, elfutils, python2, python3, perl, newt, slang, asciidoc, xmlto, makeWrapper
, docbook_xsl, docbook_xml_dtd_45, libxslt, flex, bison, pkg-config, libunwind, binutils-unwrapped
, libiberty, audit, libbfd, libopcodes, openssl, systemtap, numactl
, libiberty, audit, libbfd, libbfd_2_38, libopcodes, libopcodes_2_38, openssl, systemtap, numactl
, zlib
, withGtk ? false, gtk2
, withZstd ? true, zstd
@ -45,9 +45,12 @@ stdenv.mkDerivation {
flex bison libiberty audit makeWrapper pkg-config python3
];
buildInputs = [
elfutils newt slang libunwind libbfd zlib openssl systemtap.stapBuild numactl
libopcodes python3 perl
] ++ lib.optional withGtk gtk2
elfutils newt slang libunwind zlib openssl systemtap.stapBuild numactl
python3 perl
] ++ (if (lib.versionAtLeast kernel.version "5.19")
then [ libbfd libopcodes ]
else [ libbfd_2_38 libopcodes_2_38 ])
++ lib.optional withGtk gtk2
++ (if (lib.versionAtLeast kernel.version "4.19") then [ python3 ] else [ python2 ])
++ lib.optional withZstd zstd
++ lib.optional withLibcap libcap;