aboutsummaryrefslogtreecommitdiffstats
path: root/executor/executor.cc
diff options
context:
space:
mode:
authorAlexander Potapenko <glider@google.com>2016-04-27 17:37:54 +0200
committerAlexander Potapenko <glider@google.com>2016-05-03 11:06:27 +0200
commited787856f258f495445c2267b9cf40d7d4ce320d (patch)
tree2c2460d37fb4727ad7a677049187b36dda0c0276 /executor/executor.cc
parent7bc74c0b97f0a058bb5558ceb2b1aa080c98a2db (diff)
Use readelf to obtain the upper 32 bits of addresses returned by kcov.
When executors send coverage data to the manager, they clamp the addresses of covered blocks to 32 bits. Manager uses RestorePC() to restore the original addresses. Previously, RestorePC() assumed that the upper 4 bytes of a kernel code address were 0xffffffff, which is not so on Android. Instead we now parse `readelf -SW vmlinux` output to obtain the upper bytes of PROGBITS sections VMAs in the case those VMAs are non-zero. We assume that the upper 4 bytes are the same for every section.
Diffstat (limited to 'executor/executor.cc')
0 files changed, 0 insertions, 0 deletions