perf tools improvements and fixes for Linux v6.18:

- Extended 'perf annotate' with DWARF type information (--code-with-type)
  integration in the TUI, including a 'T' hotkey to toggle it.

- Enhanced 'perf bench mem' with new mmap() workloads and control over
  page/chunk sizes.

- Fix 'perf stat' error handling to correctly display unsupported events.

- Improved support for Clang cross-compilation.

- Refactored LLVM and Capstone disasm for modularity.

- Introduced the :X modifier to exclude an event from automatic regrouping.

- Adjusted KVM sampling defaults to use the "cycles" event to prevent failures.

- Added comprehensive support for decoding PowerPC Dispatch Trace Log (DTL).

- Updated Arm SPE tracing logic for better analysis of memory and snoop
  details.

- Synchronized Intel PMU events and metrics with TMA 5.1 across multiple
  processor generations.

- Converted dependencies like libperl and libtracefs to be opt-in.

- Handle more Rust symbols in kallsyms ('N', debugging).

- Improve the python binding to allow for python based tools to use more
  of the libraries, add a 'ilist' utility to test those new bindings.

- Various 'perf test' fixes.

- Kan Liang no longer a perf tools reviewer.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
perf tools: Fix arm64 libjvmti build by generating unistd_64.h

Since commit 22f72088ffe6 ("tools headers: Update the syscall table with
the kernel sources") the arm64 syscall header is generated at build
time. Later, commit bfb713ea53c7 ("perf tools: Fix arm64 build by
generating unistd_64.h") added a dependency to libperf to guarantee that
this header was created before building libperf or perf itself.

However, libjvmti also requires this header but does not depend on
libperf, leading to build failures such as:

  In file included from /usr/include/sys/syscall.h:24,
                   from /usr/include/syscall.h:1,
                   from jvmti/jvmti_agent.c:36:
  tools/arch/arm64/include/uapi/asm/unistd.h:2:10: fatal error: asm/unistd_64.h: No such file or directory
      2 | #include <asm/unistd_64.h>

Fix this by ensuring that libperf is built before libjvmti, so that
unistd_64.h is always available.

Fixes: 22f72088ffe69a37 ("tools headers: Update the syscall table with the kernel sources")
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Vincent Minet <v.minet@criteo.com>
Link: https://lore.kernel.org/r/20250922053702.2688374-1-v.minet@criteo.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
1 file changed