summaryrefslogtreecommitdiff
path: root/simpleperf/cmd_report.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'simpleperf/cmd_report.cpp')
-rw-r--r--simpleperf/cmd_report.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/simpleperf/cmd_report.cpp b/simpleperf/cmd_report.cpp
index 524174e4..f2fb527f 100644
--- a/simpleperf/cmd_report.cpp
+++ b/simpleperf/cmd_report.cpp
@@ -449,6 +449,7 @@ class ReportCommand : public Command {
" The default sort keys are:\n"
" comm,pid,tid,dso,symbol\n"
"--symfs <dir> Look for files with symbols relative to this directory.\n"
+"--symdir <dir> Look for files with symbols in a directory recursively.\n"
"--vmlinux <file> Parse kernel symbols from <file>.\n"
"\n"
"Sample filter options:\n"
@@ -585,6 +586,7 @@ bool ReportCommand::ParseOptions(const std::vector<std::string>& args) {
{"--sort", {OptionValueType::STRING, OptionType::SINGLE}},
{"--symbols", {OptionValueType::STRING, OptionType::MULTIPLE}},
{"--symfs", {OptionValueType::STRING, OptionType::SINGLE}},
+ {"--symdir", {OptionValueType::STRING, OptionType::SINGLE}},
{"--vmlinux", {OptionValueType::STRING, OptionType::SINGLE}},
};
OptionFormatMap record_filter_options = GetRecordFilterOptionFormats(false);
@@ -692,6 +694,11 @@ bool ReportCommand::ParseOptions(const std::vector<std::string>& args) {
return false;
}
}
+ if (auto value = options.PullValue("--symdir"); value) {
+ if (!Dso::AddSymbolDir(*value->str_value)) {
+ return false;
+ }
+ }
if (auto value = options.PullValue("--vmlinux"); value) {
Dso::SetVmlinux(*value->str_value);
}