lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <de9470c6-de22-4136-b390-6dcc056495bd@linaro.org>
Date: Tue, 13 May 2025 11:05:16 +0100
From: James Clark <james.clark@...aro.org>
To: Arnaldo Carvalho de Melo <acme@...nel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@...cle.com>,
 Namhyung Kim <namhyung@...nel.org>, Adrian Hunter <adrian.hunter@...el.com>,
 Ian Rogers <irogers@...gle.com>, Jiri Olsa <jolsa@...nel.org>,
 Kan Liang <kan.liang@...ux.intel.com>,
 Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
 linux-perf-users@...r.kernel.org
Subject: Re: make -C tools/perf build-test failing on aarch64



On 11/05/2025 18:46, James Clark wrote:
> 
> 
> On 10/05/2025 2:42 am, Arnaldo Carvalho de Melo wrote:
>> Hi,
>>
>>     I noticed that upstream is failing on aarch64:
>>
>> acme@...pberrypi:~/git/perf-tools-next $ uname -a
>> Linux raspberrypi 6.12.25+rpt-rpi-2712 #1 SMP PREEMPT Debian 
>> 1:6.12.25-1+rpt1 (2025-04-30) aarch64 GNU/Linux
>> acme@...pberrypi:~/git/perf-tools-next $ grep -m1 Model /proc/cpuinfo
>> Model        : Raspberry Pi 5 Model B Rev 1.1
>> acme@...pberrypi:~/git/perf-tools-next $
>> acme@...pberrypi:~/git/perf-tools-next $ git log --oneline -1 ; time 
>> make -C tools/perf build-test
>> cd17a9b1a779 (HEAD -> perf-tools-next, number/perf-tools-next, 
>> number/HEAD) perf test demangle-ocaml: Switch to using 
>> dso__demangle_sym()
>> make: Entering directory '/home/acme/git/perf-tools-next/tools/perf'
>> - tarpkg: ./tests/perf-targz-src-pkg .
>> make[1]: *** [tests/make:351: tarpkg] Error 2
>> make: *** [Makefile:109: build-test] Error 2
>> make: Leaving directory '/home/acme/git/perf-tools-next/tools/perf'
>>
>> real    0m12.130s
>> user    0m12.653s
>> sys    0m2.091s
>> acme@...pberrypi:~/git/perf-tools-next $
>>
>> I noticed that it is using some files from outside tools/, i.e. kernel
>> files, so I tried adding those (and its dependencies) to the
>> tools/perf/MANIFEST, but stumbled at this point:
>>
>> acme@...pberrypi:~/git/perf-tools-next $ git diff
>> diff --git a/tools/perf/MANIFEST b/tools/perf/MANIFEST
>> index 364b55b00b48..3fe627c4b599 100644
>> --- a/tools/perf/MANIFEST
>> +++ b/tools/perf/MANIFEST
>> @@ -28,3 +28,6 @@ scripts/bpf_doc.py
>>   tools/bpf/bpftool
>>   kernel/bpf/disasm.c
>>   kernel/bpf/disasm.h
>> +scripts/Kbuild.include
>> +scripts/Makefile.asm-headers
>> +include/uapi/asm-generic/Kbuild
>> acme@...pberrypi:~/git/perf-tools-next $
>>
>> To test it directly:
>>
>> acme@...pberrypi:~/git/perf-tools-next $ sh -x 
>> tools/perf/tests/perf-targz-src-pkg tools/perf
>> + set -e
>> + PERF=tools/perf
>> + cd tools/perf/../..
>> + make perf-targz-src-pkg
>>    ARCHIVE perf-6.15.0-rc5.tar.gz
>> + ls -rt perf-6.15.0-rc5.tar.gz
>> + TARBALL=perf-6.15.0-rc5.tar.gz
>> + mktemp -d
>> + TMP_DEST=/tmp/tmp.wzVpK2Gmvw
>> + tar xf perf-6.15.0-rc5.tar.gz -C /tmp/tmp.wzVpK2Gmvw
>> + rm -f perf-6.15.0-rc5.tar.gz
>> + cd -
>> + make -C /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf
>> make: Entering directory '/tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf'
>>    BUILD:   Doing 'make -j4' parallel build
>>
>> Auto-detecting system features:
>> ...                                   libdw: [ on  ]
>> ...                                   glibc: [ on  ]
>> ...                                  libelf: [ on  ]
>> ...                                 libnuma: [ on  ]
>> ...                  numa_num_possible_cpus: [ on  ]
>> ...                                 libperl: [ on  ]
>> ...                               libpython: [ on  ]
>> ...                               libcrypto: [ on  ]
>> ...                             libcapstone: [ on  ]
>> ...                               llvm-perf: [ on  ]
>> ...                                    zlib: [ on  ]
>> ...                                    lzma: [ on  ]
>> ...                               get_cpuid: [ OFF ]
>> ...                                     bpf: [ on  ]
>> ...                                  libaio: [ on  ]
>> ...                                 libzstd: [ on  ]
>>
>>    PERF_VERSION = 6.15.rc5.gcd17a9b1a779
>>    GEN     common-cmds.h
>>    GEN     
>> /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/arch/arm64/include/generated/asm/sysreg-defs.h
>>    CC      jvmti/libjvmti.o
>>    GEN     perf-archive
>>    GEN     perf-iostat
>>    CC      dlfilters/dlfilter-test-api-v0.o
>>    CC      dlfilters/dlfilter-test-api-v2.o
>>    CC      dlfilters/dlfilter-show-cycles.o
>>    CC      jvmti/jvmti_agent.o
>>    CC      jvmti/libstring.o
>>    CC      jvmti/libctype.o
>>    MKDIR   /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libapi/fd/
>>    CC      
>> /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libapi/fd/array.o
>> make[4]: *** No rule to make target 
>> '/tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libperf/arch/arm64/include/generated/uapi/asm/unistd_64.h'.  Stop.
>> make[3]: *** [Makefile:108: uapi-asm-generic] Error 2
>> make[2]: *** [Makefile.perf:973: 
>> /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libperf/libperf.a] Error 2
>> make[2]: *** Waiting for unfinished jobs....
>>    INSTALL 
>> /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libapi/include/api/cpu.h
>>    MKDIR   /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libapi/fs/
>>    MKDIR   /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libapi/fs/
>>    CC      /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libapi/fs/fs.o
>>    CC      
>> /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libapi/fs/tracing_path.o
>>    LD      jvmti/jvmti-in.o
>>    CC      /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libapi/cpu.o
>>    LD      
>> /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libapi/fd/libapi-in.o
>>    CC      /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libapi/debug.o
>>    INSTALL 
>> /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libapi/include/api/debug.h
>>    INSTALL 
>> /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libapi/include/api/io.h
>>    INSTALL 
>> /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libapi/include/api/io_dir.h
>>    MKDIR   /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libapi/fs/
>>    CC      
>> /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libapi/fs/cgroup.o
>>    CC      
>> /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libapi/str_error_r.o
>>    INSTALL 
>> /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libapi/include/api/fd/array.h
>>    INSTALL 
>> /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libapi/include/api/fs/fs.h
>>    INSTALL 
>> /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libapi/include/api/fs/tracing_path.h
>>    INSTALL libapi_headers
>>    LD      
>> /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libapi/fs/libapi-in.o
>>    LD      
>> /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libapi/libapi-in.o
>>    AR      /tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf/libapi/libapi.a
>> make[1]: *** [Makefile.perf:290: sub-make] Error 2
>> make: *** [Makefile:76: all] Error 2
>> make: Leaving directory '/tmp/tmp.wzVpK2Gmvw/perf-6.15.0-rc5/tools/perf'
>> acme@...pberrypi:~/git/perf-tools-next $
>>
>> I think this is related to:
>>
>> commit bfb713ea53c746b07ae69fe97fa9b5388e4f34f9 (perf-tools)
>> Author: James Clark <james.clark@...aro.org>
>> Date:   Thu Apr 17 14:55:50 2025 +0100
>>
>>      perf tools: Fix arm64 build by generating unistd_64.h
>>
>> Can you please take a look?
>>
>> Thanks a lot,
>>
>> - Arnaldo
> 
> Hmm yeah looks like it's caused by that. I'm travelling tomorrow but 
> I'll try to take a look.
> 
> Thanks
> James
> 


Sent the fix, hopefully 3rd time lucky.

I know there is the build-test target but I had let my setup bitrot so I 
wasn't running it. I don't know if you have ever shared any of your 
docker containers that you use for build testing?

I will also try to get that target added to our CI. We're only running a 
normal build and then "perf test" there.

Thanks
James

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ