Age | Commit message (Collapse) | Author |
|
qt-aml-tzdata-release
Change-Id: Ie3b2616d0777d5fa31840df0790cc48856698478
|
|
Change-Id: Id9f3f01cb03f89a300ccb680559db59c47bd13d4
|
|
Change-Id: I0aba1eed5198e4da8b770f3035a2ce0876a294e5
|
|
Change-Id: Ic427f3b0720c3451f8666bf33fa3eff9e7270e1b
|
|
Change-Id: I9b5c1db209c3aed9aafd5015108679e8be41392e
|
|
Change-Id: Icd801b4575116da024d4c3c118408ee8ecce76a2
|
|
Change-Id: I4ed48c21a3c4e221a5151b7e63a8d027fab1467e
|
|
with code coverage enabled, the main object as well as each dlopen()ed
shared library include their own copies of the hooks for dumping gcov
data upon receiving signal GCOV_FLUSH_SIGNAL. Only the last one to
register was actually dumped.
Here, we chain the signal handlers together so that each one will call
the previously registered handler to ensure that each object's coverage
data is dumped.
Bug: 139313557
Test: dump gcov data via kill -37 on module with dlopen()
Change-Id: I376df2df6b65acff95ad5d135a7ba2bf0eac3695
Merged-In: I376df2df6b65acff95ad5d135a7ba2bf0eac3695
(cherry picked from commit b5d273da8824e8dd4bf9c28c50797364b0b47a05)
|
|
Bug: http://b/116873221
With https://reviews.llvm.org/D65245, the profile runtime assumes that
the directory ${GCOV_PREFIX} is already created. Before returning from
the getenv wrapper, create the per-uid ${GCOV_PREFIX}.
Test: cuttlefish builds and boots with new Clang.
Change-Id: I276e1a92b3cb18ee85bb4451159b131d8ebca4a2
Merged-In: I276e1a92b3cb18ee85bb4451159b131d8ebca4a2
(cherry picked from commit b00f2fc6bb862c1b41c33984830e93149efa339d)
|
|
Bug: http://b/116873221
Bug: http://b/134177005
adbd calls selinux_android_setcon() which will fail if there are
multiple threads in the process. The reason for boot failures with
coverage-enabled init and property-watcher thread is not clear yet.
Test: cuttlefish with coverage for init and adbd boots.
Change-Id: I0c44e76cc59d12b963e4d5b862683ead2f816cdc
Merged-In: I0c44e76cc59d12b963e4d5b862683ead2f816cdc
(cherry picked from commit 87d1a3bfba5bba715eed9d1b254bfa02282bf39f)
|
|
The coverage runtime creates coverage files with permissions 0644 and
intermediate directories with 0755. This causes conflicts and
permissions issues when multiple processes create/access the same file
or directory under $GCOV_PREFIX. Some processes also call umask, which
further complicates things.
It is possible to handle all of these in the coverage runtime library
but a foolproof alternative is to have a separate coverage directory per
effective userid (euid) by customizing GCOV_PREFIX.
This change adds a wrapper to getenv which appends the euid of the
current process for the "GCOV_PREFIX" environment variable.
Bug: 148178774
Test: Verify that coverage files are written to
/data/misc/trace/<euid>/proc/... instead of /data/misc/trace/proc/...
Change-Id: I6be1e748618d84697c354516ab1c734fb33ab5f4
Merged-In: I6be1e748618d84697c354516ab1c734fb33ab5f4
(cherry picked from commit a277ce976288ac0a35a9016970f6e49037eaeadb)
|
|
Bug: http://b/116873221
Refactor the processes without property-watch thread into a list.
Test: Build cuttlefish with coverage
Change-Id: Id8f0ceab133b961219b1cf77ae02b00eba4cfaf5
Merged-In: Id8f0ceab133b961219b1cf77ae02b00eba4cfaf5
(cherry picked from commit 5b9defd41d61b000c82c84662f02394e89192d93)
|
|
Bug: http://b/116873221
Currently, every coverage-enabled binary (the main executable or shared
library) in the process executes the init_profile_extras constructor
leading to redundant initialization.
Instead, add a weak global value that gets set once so following
constructors don't set a signal handler or create a pthread. It's ok to
do this before the constructor succeeds because if pthread creation or
signal handler registration failed once, they are unlikely to succeed
the second time.
This is thread-safe since constructor initialization is single-threaded.
The one possibility for a race - the process doesn't have any
coverage-enabled library, and multiple threads dlopen() coverage-enabled
shared libraries - seems quite unlikely.
Test: Verify that only one extra thread is created for a daemon (adbd).
Change-Id: Ie969311c2ddac147497c870b5c365b4617b3c60a
Merged-In: Ie969311c2ddac147497c870b5c365b4617b3c60a
(cherry picked from commit e76c23dc6b7bff0c7404744b9bdde0d02465acdf)
|
|
qt-aml-tzdata-release
Change-Id: Iefd111226ca8bd71504837a9ea5f048a8107da3d
|
|
am: bdebd1cb3d
Change-Id: Ia4b31ac204db46b6af7e9b3a8c1e785e7423e1f2
|
|
am: 44bc03af44
Change-Id: Ieab89e84f36f9d54d11e759c49229405d56945ad
|
|
|
|
am: a9a889636c
Change-Id: I0cf7c7107748be7367ccde644cea7036fb4a27b6
|
|
am: 246163dac8
Change-Id: Idc4f8870c2e86f6d8a8113f99c733ebf6945ea4b
|
|
am: 23840d0493
Change-Id: Id55c5d3fbfff137e6fa1cbb15956b696e2cd10bd
|
|
am: 89f04a0381
Change-Id: Idb1abbbce008290462b7d8631a59bc2b64b9381c
|
|
|
|
|
|
Bug: none
Test: test.py *test_addr2nearestline
Change-Id: I1de1f55c25d7f9652e931a23416947ba63beb101
|
|
Taken from branch aosp-simpleperf-release.
Bug: none
Test: run test.py on flame.
Change-Id: I4e0848a9006ec24cb7b17297ebfd5d993f1aa0fd
|
|
The new googletest requires prefix to be non-empty.
Change-Id: Iacd96a6e2fcfb2193c7627212e9e710fb655d6d9
|
|
am: e44558f001
Change-Id: I73f15d7279da618cd1acb12d178f424afa4fc888
|
|
am: b74b2b5c11
Change-Id: I8bc33282f6eda38bccaf7e48dc25cba2000aac47
|
|
|
|
Find 32bit abi on device instead of hardcoding to arm.
Add x86/x86_64 libraries in test apks.
Bug: none
Test: run test.py on x86 emulator.
Change-Id: Ie19b8423c2dfb2260bdc4bae6313b54aaa2847ab
|
|
am: dcb00c9026
Change-Id: I07cf585f64b2bd3c4410e0f67a7fb76c072ba5e3
|
|
am: ab10d26e56
Change-Id: I982792f0fd7dea08e32b9825b3acb8c0ec07509b
|
|
|
|
Bug: none
Test: run test.py TestTools* TestExample*.
Change-Id: I26e0a37113044cb96c90ff8a02d7f3b34d356c19
|
|
am: 015d80a244
Change-Id: Ifdbd00577bee5ded025900a48f096d6e0d0ede0b
|
|
am: ffb407b459
Change-Id: Id7fe4b61bdabaef90536443d9a57c1644c4910d6
|
|
|
|
am: b1907a385b
am: f1c2b9b5de
Change-Id: Ibb104f91ed665d6d1ac7d84a9dd9a2df853d8ccb
|
|
am: b1907a385b
Change-Id: I94690b74c8a6226461ddc4a87785d716e909debb
|
|
To control whether generated html files should be shown in browser.
Bug: none
Test: test.py.
Change-Id: I58eeae716e42068bd5f278bb8006d8818e3fc63c
|
|
|
|
To fix a libunwindstack problem, ART appends new debug entries to the
end of the debug entry list, insteading prepending to it. This breaks
CtsSimpleperfTestCases.
This CL adds a temporary work around in simpleperf, so we have time
to try other fixes in ART.
Bug: 143375574
Test: run simpleperf_unit_test
Change-Id: I5d73792996fb89d22a664b982e667ba0a4ee8276
|
|
am: 6d4a5488b6
Change-Id: I9f94d054597b50b1714e836472eba4084df2fd9c
|
|
am: a3ae531171
Change-Id: I522d0746f5da8fba11ffce524a1da8dfe271951d
|
|
|
|
Keep generated data of each test of test.py in a separate directory,
so we can:
1) check generated html after testing.
2) check profiling data for failed tests.
3) run tests for different devices in different dirs at the same time.
Also continue test when a test pass fails in run_tests().
Bug: 142972498
Test: run test.py.
Change-Id: If8468f0e180d441b74c070b978375b27c293a006
|
|
am: d24f22a950
Change-Id: Iaba6efa43332763e21ea05f4021481559bacb685
|
|
am: 16f464c226
Change-Id: I33d4f7c58ac0ce4e04b88eb0732ebd0ff892be30
|
|
|
|
32-bit simpleperf can't profile 64-bit java app. Because simpleperf
uses process_vm_readv() to read jit debug interface of the app process.
If the jit debug info is at address >= 1<<32, then 32-bit simpleperf
can't read it.
So install apks in the same abi as the test to avoid test failure.
Bug: none
Test: run 32-bit simpleperf_unit_test.
Change-Id: Ie3b4db320389bf5acb30ff5ea1f071b5fc3e2736
|