Does orbit support arm64 platform? #4449
-
I want to use this tool to analyze arm64 linux and android. I tried to build orbit on arm64 linux, it failed with the following error.
|
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 4 replies
-
Hi, thanks for reaching out. For arm64 linux: For android: So depending on the needs, it might be not too much effort to get it working. Sophisticated support is for sure quite some work. We don't have any resources right now, to look into this, but contributions are more then welcome. If needed, I can provide necessary code-pointers to get started. As an alternative, you might want to consider perfetto, which is explicitly developed for android. |
Beta Was this translation helpful? Give feedback.
-
@beckerhe might now more about the compilation error (where we pass the "-m64"). |
Beta Was this translation helpful? Give feedback.
-
The |
Beta Was this translation helpful? Give feedback.
-
In case anyone finds their way here with the same problem, the reason for the -m64 appears to be that the conan default_release profile is being used by default Note: not claiming orbit is supported on arm etc - purely how to fix this error, as for someone unfamiliar with conan how this worked wasn't immediately obvious to me On my arm board (rpi5) this profile was being detected (or was being set by something in the orbit build) incorrectly as x86_64 which caused the corresponding -m64 flag to be passed to the abseil build To fix it:
Check your profile is now correct
For me abseil then builds happily without complaint when I ./bootstrap-orbit.sh |
Beta Was this translation helpful? Give feedback.
Hi, thanks for reaching out.
Profiling arm64 linux and android targets are currently not (explicitly) supported, neither do we test building form arm64.
For arm64 linux:
As we are relying mostly on Linux's
perf_event_open
syscall, many features should work out-of-the box (not tested). However, there are a couple of places where we explicitly assume x86_64 in the code. User-space dynamic instrumentation, disassembly view, frame-pointer-based unwinding, will certainly not work.For android:
We use android's unwinding library
libunwindstack
, which does support mixed Java/native callstack unwinding. However, we currently have no code in place, to retrieve Java's symbol information. Also neith…