traced_perf: in-tree builds: arm register parsing basics
This adds libunwindstack as a dependency for traced_perf, and has the necessary
logic to sample the userspace register state of sampled processes. The
registers are converted to libunwindstack's representation and, for now,
printed.
Only supporting arm32/arm64 at the moment. x86 coming soon, standalone builds
require figuring out where to source the uapi constant definitions from.
Sorry, no tests at this point, more of a "I've ran this and it printed
something sensible according to /proc/pid/maps".
Also changes traced_perf to only build in the Android tree atm.
Change-Id: Id0df3b8c3901d733480d4289cf9b37562c3427d8
diff --git a/tools/gen_android_bp b/tools/gen_android_bp
index c00e697..ebc440a 100755
--- a/tools/gen_android_bp
+++ b/tools/gen_android_bp
@@ -158,11 +158,17 @@
('static_libs', {'libasync_safe'}),
('header_libs', {'bionic_libc_platform_headers'}),
],
- 'perfetto_unittests': [('data', set(enumerate_data_deps())),],
+ 'perfetto_unittests': [
+ ('data', set(enumerate_data_deps())),
+ ('include_dirs', {'bionic/libc/kernel'}),
+ ],
'traced_probes': [
('required', {'libperfetto_android_internal', 'trigger_perfetto'}),
],
'libperfetto_android_internal': [('static_libs', {'libhealthhalutils'}),],
+ 'traced_perf': [
+ ('include_dirs', {'bionic/libc/kernel'}),
+ ],
'trace_processor_shell': [
('dist', {'targets': ['sdk_repo']}),
('stl', 'libc++_static'),