Attempt to fix buildbot after r354972 [#2]. NFCI.

llvm-svn: 355192
This commit is contained in:
Alexey Lapshin 2019-03-01 10:15:18 +00:00
parent 54829ec5d0
commit b0224b1f1d
1 changed files with 14 additions and 1 deletions

View File

@ -201,7 +201,20 @@ static bool parseCommand(StringRef InputString, bool &IsData,
static uint64_t getModuleSectionIndexForAddress(const std::string &ModuleName,
uint64_t Address) {
Expected<OwningBinary<Binary>> BinaryOrErr = createBinary(ModuleName);
// following ModuleName processing was copied from
// LLVMSymbolizer::getOrCreateModuleInfo().
// it needs to be refactored to avoid code duplication.
std::string BinaryName = ModuleName;
size_t ColonPos = ModuleName.find_last_of(':');
// Verify that substring after colon form a valid arch name.
if (ColonPos != std::string::npos) {
std::string ArchStr = ModuleName.substr(ColonPos + 1);
if (Triple(ArchStr).getArch() != Triple::UnknownArch) {
BinaryName = ModuleName.substr(0, ColonPos);
}
}
Expected<OwningBinary<Binary>> BinaryOrErr = createBinary(BinaryName);
if (error(BinaryOrErr))
return object::SectionedAddress::UndefSection;