summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-04-28Snap for 6439596 from 29e06f5526a2dd48c9f19ef7f238804f84c03c30 to ↵q_tzdata_aml_297100400q_tzdata_aml_297100300q_tzdata_aml_297100000q_tzdata_aml_296200000q_tzdata_aml_295600118q_tzdata_aml_295600110q_tzdata_aml_295500002q_tzdata_aml_295500001q_tzdata_aml_294400310android-mainline-12.0.0_r54android-mainline-12.0.0_r111android-mainline-10.0.0_r13android-mainline-10.0.0_r12android-mainline-10.0.0_r11q_tzdata_aml_297100000android12-mainline-tzdata-releaseandroid10-mainline-tzdata-releaseandroid10-android13-mainline-tzdata-releaseandroid-build-team Robot
qt-aml-tzdata-release Change-Id: Ie3b2616d0777d5fa31840df0790cc48856698478
2020-02-03Dump coverage for all objects (a.out + dlopen()'d .so's) am: 572460c417Automerger Merge Worker
Change-Id: Id9f3f01cb03f89a300ccb680559db59c47bd13d4
2020-02-03Create per-uid GCOV_PREFIX dir in the getenv wrapper am: 466d7164cfAutomerger Merge Worker
Change-Id: I0aba1eed5198e4da8b770f3035a2ce0876a294e5
2020-02-03Opt adbd and init out of property-watcher thread am: 0fba97d295Automerger Merge Worker
Change-Id: Ic427f3b0720c3451f8666bf33fa3eff9e7270e1b
2020-02-03Wrap getenv and append euid to GCOV_PREFIX am: 6dc0cc21feAutomerger Merge Worker
Change-Id: I9b5c1db209c3aed9aafd5015108679e8be41392e
2020-02-03Refactor property-watch optout logic am: 6d9db09a45Automerger Merge Worker
Change-Id: Icd801b4575116da024d4c3c118408ee8ecce76a2
2020-02-03Do init_profile_extras constructor tasks only once am: 2b1bdd1079Automerger Merge Worker
Change-Id: I4ed48c21a3c4e221a5151b7e63a8d027fab1467e
2020-02-03Dump coverage for all objects (a.out + dlopen()'d .so's)Ray Essick
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)
2020-02-03Create per-uid GCOV_PREFIX dir in the getenv wrapperPirama Arumuga Nainar
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)
2020-02-03Opt adbd and init out of property-watcher threadPirama Arumuga Nainar
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)
2020-02-03Wrap getenv and append euid to GCOV_PREFIXPirama Arumuga Nainar
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)
2020-01-27Refactor property-watch optout logicPirama Arumuga Nainar
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)
2020-01-27Do init_profile_extras constructor tasks only oncePirama Arumuga Nainar
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)
2019-11-11Snap for 6001391 from bde7153521922a2494889f496d2bd394e5708d81 to ↵android-build-team Robot
qt-aml-tzdata-release Change-Id: Iefd111226ca8bd71504837a9ea5f048a8107da3d
2019-11-08Merge "Fix build with new googletest" am: 44bc03af44Haibo Huang
am: bdebd1cb3d Change-Id: Ia4b31ac204db46b6af7e9b3a8c1e785e7423e1f2
2019-11-08Merge "Fix build with new googletest"Haibo Huang
am: 44bc03af44 Change-Id: Ieab89e84f36f9d54d11e759c49229405d56945ad
2019-11-09Merge "Fix build with new googletest"Treehugger Robot
2019-11-08Merge "simpleperf: update simpleperf prebuilts to build 5991547." am: 246163dac8Yabin Cui
am: a9a889636c Change-Id: I0cf7c7107748be7367ccde644cea7036fb4a27b6
2019-11-08Merge "simpleperf: update simpleperf prebuilts to build 5991547."Yabin Cui
am: 246163dac8 Change-Id: Idc4f8870c2e86f6d8a8113f99c733ebf6945ea4b
2019-11-08Merge "simpleperf: fix test due to llvm-symbolizer upgrade." am: 89f04a0381Yabin Cui
am: 23840d0493 Change-Id: Id55c5d3fbfff137e6fa1cbb15956b696e2cd10bd
2019-11-08Merge "simpleperf: fix test due to llvm-symbolizer upgrade."Yabin Cui
am: 89f04a0381 Change-Id: Idb1abbbce008290462b7d8631a59bc2b64b9381c
2019-11-08Merge "simpleperf: update simpleperf prebuilts to build 5991547."Yabin Cui
2019-11-08Merge "simpleperf: fix test due to llvm-symbolizer upgrade."Yabin Cui
2019-11-08simpleperf: fix test due to llvm-symbolizer upgrade.Yabin Cui
Bug: none Test: test.py *test_addr2nearestline Change-Id: I1de1f55c25d7f9652e931a23416947ba63beb101
2019-11-08simpleperf: update simpleperf prebuilts to build 5991547.Yabin Cui
Taken from branch aosp-simpleperf-release. Bug: none Test: run test.py on flame. Change-Id: I4e0848a9006ec24cb7b17297ebfd5d993f1aa0fd
2019-11-08Fix build with new googletestHaibo Huang
The new googletest requires prefix to be non-empty. Change-Id: Iacd96a6e2fcfb2193c7627212e9e710fb655d6d9
2019-11-06Merge "simpleperf: fix test.py on x86/x86_64." am: b74b2b5c11Yabin Cui
am: e44558f001 Change-Id: I73f15d7279da618cd1acb12d178f424afa4fc888
2019-11-06Merge "simpleperf: fix test.py on x86/x86_64."Yabin Cui
am: b74b2b5c11 Change-Id: I8bc33282f6eda38bccaf7e48dc25cba2000aac47
2019-11-07Merge "simpleperf: fix test.py on x86/x86_64."Yabin Cui
2019-11-06simpleperf: fix test.py on x86/x86_64.Yabin Cui
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
2019-11-06Merge "simpleperf: allow more than one pattern in test.py." am: ab10d26e56Yabin Cui
am: dcb00c9026 Change-Id: I07cf585f64b2bd3c4410e0f67a7fb76c072ba5e3
2019-11-06Merge "simpleperf: allow more than one pattern in test.py."Yabin Cui
am: ab10d26e56 Change-Id: I982792f0fd7dea08e32b9825b3acb8c0ec07509b
2019-11-06Merge "simpleperf: allow more than one pattern in test.py."Yabin Cui
2019-11-06simpleperf: allow more than one pattern in test.py.Yabin Cui
Bug: none Test: run test.py TestTools* TestExample*. Change-Id: I26e0a37113044cb96c90ff8a02d7f3b34d356c19
2019-11-06Merge "simpleperf: add browser option in test.py." am: ffb407b459Yabin Cui
am: 015d80a244 Change-Id: Ifdbd00577bee5ded025900a48f096d6e0d0ede0b
2019-11-06Merge "simpleperf: add browser option in test.py."Yabin Cui
am: ffb407b459 Change-Id: Id7fe4b61bdabaef90536443d9a57c1644c4910d6
2019-11-06Merge "simpleperf: add browser option in test.py."Yabin Cui
2019-11-05Merge "simpleperf: add temporary work around for debug interface change." ↵Yabin Cui
am: b1907a385b am: f1c2b9b5de Change-Id: Ibb104f91ed665d6d1ac7d84a9dd9a2df853d8ccb
2019-11-05Merge "simpleperf: add temporary work around for debug interface change."Yabin Cui
am: b1907a385b Change-Id: I94690b74c8a6226461ddc4a87785d716e909debb
2019-11-05simpleperf: add browser option in test.py.Yabin Cui
To control whether generated html files should be shown in browser. Bug: none Test: test.py. Change-Id: I58eeae716e42068bd5f278bb8006d8818e3fc63c
2019-11-05Merge "simpleperf: add temporary work around for debug interface change."Yabin Cui
2019-11-05simpleperf: add temporary work around for debug interface change.Yabin Cui
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
2019-11-05Merge "simpleperf: keep generated data of test.py." am: a3ae531171Yabin Cui
am: 6d4a5488b6 Change-Id: I9f94d054597b50b1714e836472eba4084df2fd9c
2019-11-05Merge "simpleperf: keep generated data of test.py."Yabin Cui
am: a3ae531171 Change-Id: I522d0746f5da8fba11ffce524a1da8dfe271951d
2019-11-05Merge "simpleperf: keep generated data of test.py."Yabin Cui
2019-11-05simpleperf: keep generated data of test.py.Yabin Cui
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
2019-11-01Merge "simpleperf: test profiling apps with the same abi." am: 16f464c226Yabin Cui
am: d24f22a950 Change-Id: Iaba6efa43332763e21ea05f4021481559bacb685
2019-11-01Merge "simpleperf: test profiling apps with the same abi."Yabin Cui
am: 16f464c226 Change-Id: I33d4f7c58ac0ce4e04b88eb0732ebd0ff892be30
2019-11-01Merge "simpleperf: test profiling apps with the same abi."Yabin Cui
2019-11-01simpleperf: test profiling apps with the same abi.Yabin Cui
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