Re: [PATCH v2] perf docs: Mark the Android document as obsolete

From: Leo Yan
Date: Mon Jul 15 2024 - 15:32:03 EST



Hi Ian,

On 7/15/24 18:17, Ian Rogers wrote:
On Mon, Jul 15, 2024 at 7:34 AM Leo Yan <leo.yan@xxxxxxx> wrote:
[snip]
+Android NDK compilation is deprecated and no longer supported.

I think this is objectively worse than just removing the file. It is
likely the perf tool can build with clang/LLVM, I do it every day

Just curious, are you using LLVM/clang for cross building (e.g. build
aarch64 target on x86_64 host) or just native building?

Clang/LLVM is a natively cross-compiler [1], I installed Clang-15 in the
offical package on Ubuntu, but I failed to do cross compilation with it:

make ARCH=arm64 LLVM=-15 VF=1 DEBUG=1 -C tools/perf

and the special case for Android is likely more about the libc (aka
bionic) which gradually over time has been becoming more full fat -
perhaps we need to carry somethings in tools/include for missing
definitions, but we build with musl and that's a PITA in this regard,
we've also been reducing the tools/include dependencies for perf trace
beauty support. We don't use ifuncs in the perf tool (Android's
linker/loader historically hasn't supported these) and the weak symbol
games should be okay and something I aspire to make less in the perf
tool over time. As Android uses Linux then it should work and should
be supported.

Let us drop this patch.

Thanks,
Leo

[1] https://clang.llvm.org/docs/CrossCompilation.html