aboutsummaryrefslogtreecommitdiffstats
path: root/executor
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
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')
0 files changed, 0 insertions, 0 deletions