summaryrefslogtreecommitdiff
path: root/simpleperf/report_lib_interface.cpp
diff options
context:
space:
mode:
authorYabin Cui <yabinc@google.com>2017-10-17 17:46:24 -0700
committerYabin Cui <yabinc@google.com>2017-10-17 17:46:24 -0700
commit2c79347a019a3885245cffb12893b368adc20211 (patch)
tree3159be4a2723f1be274bea467c76531b659dfa0c /simpleperf/report_lib_interface.cpp
parent0bc040a8cbe7faf96138afab80119f2a9492fee0 (diff)
downloadextras-2c79347a019a3885245cffb12893b368adc20211.tar.gz
simpleperf: export symbol_len in report lib interface.
It helps to set the range of a function when annotating source code and disassemble code. Also add comments in simpleperf_report_lib.py to make the meaning of the structures clear. Bug: http://b/66914187 Test: run test.py TestReportLib. Change-Id: I1be996df8062ddb6759e9f98e0400f3a4df7efb6
Diffstat (limited to 'simpleperf/report_lib_interface.cpp')
-rw-r--r--simpleperf/report_lib_interface.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/simpleperf/report_lib_interface.cpp b/simpleperf/report_lib_interface.cpp
index 88bb4d7e..c7a606c9 100644
--- a/simpleperf/report_lib_interface.cpp
+++ b/simpleperf/report_lib_interface.cpp
@@ -59,6 +59,7 @@ struct SymbolEntry {
uint64_t vaddr_in_file;
const char* symbol_name;
uint64_t symbol_addr;
+ uint64_t symbol_len;
Mapping* mapping;
};
@@ -304,6 +305,7 @@ SymbolEntry* ReportLib::GetSymbolOfCurrentSample() {
current_symbol_.vaddr_in_file = vaddr_in_file;
current_symbol_.symbol_name = symbol->DemangledName();
current_symbol_.symbol_addr = symbol->addr;
+ current_symbol_.symbol_len = symbol->len;
current_symbol_.mapping = AddMapping(*map);
update_flag_ |= UPDATE_FLAG_OF_SYMBOL;
}
@@ -351,6 +353,7 @@ CallChain* ReportLib::GetCallChainOfCurrentSample() {
entry.symbol.vaddr_in_file = vaddr_in_file;
entry.symbol.symbol_name = symbol->DemangledName();
entry.symbol.symbol_addr = symbol->addr;
+ entry.symbol.symbol_len = symbol->len;
entry.symbol.mapping = AddMapping(*map);
callchain_entries_.push_back(entry);
}