Uses libnativehelper_header_only library headers instead.
Needed as libnativehelper is part of the runtime module and so will not
be present in an unbundled build, instead its build targets will be
provided as prebuilts.
Bug: 134379140
Test: m checkbuild
Change-Id: I8becbda3a202ddaed52eaf861ac94fe4b08807c2
Use the crasher to create a tombstone with the violation as the abort
message.
Test: m
Test: manual
Change-Id: I8c5041a4fbffedb11b6b9c564ab1e214551896bf
Start to make violation less opaque to improve more generic handling
in the future.
Test: m
Test: manual
Change-Id: Ic9780590301010798c7fe6df59526e609dc6f93a
Add an agent-based lock inversion checker. The agent will dynamically
rewrite bytecode to inject calls to LockHook, which runs a checker
on these.
Implement a simple on-thread checker that keeps a per-thread stack
of locks and a global map of lock ordering. As-is, transitivity of
checks is not guaranteed, but should be captured in most practical
cases.
To run a process with the lock checker, start the process with the
agent. The helper script start_with_lockagent.sh can be used for this:
adb shell setprop wrap.pkg-name script start_with_lockagent
(cherry picked from commit aeb6fce5b33680bc538dbd66979a28bcba1329b4)
Bug: 124744938
Test: manual
Merged-In: Idd9a7066a5b8cb8c0de2e995f08759c98d9473e1
Change-Id: Idd9a7066a5b8cb8c0de2e995f08759c98d9473e1