diff options
Diffstat (limited to 'llvm/tools/dsymutil/MachODebugMapParser.cpp')
-rw-r--r-- | llvm/tools/dsymutil/MachODebugMapParser.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/llvm/tools/dsymutil/MachODebugMapParser.cpp b/llvm/tools/dsymutil/MachODebugMapParser.cpp index 866196fb27e..79b19137119 100644 --- a/llvm/tools/dsymutil/MachODebugMapParser.cpp +++ b/llvm/tools/dsymutil/MachODebugMapParser.cpp @@ -135,7 +135,8 @@ void MachODebugMapParser::switchToNewDebugMapObject( Err.message() + "\n"); } - CurrentDebugMapObject = &Result->addDebugMapObject(Path, Timestamp); + CurrentDebugMapObject = + &Result->addDebugMapObject(Path, Timestamp, MachO::N_OSO); loadCurrentObjectFileSymbols(*ErrOrAchObj); } @@ -349,6 +350,13 @@ void MachODebugMapParser::handleStabSymbolTableEntry(uint32_t StringIndex, if (Type == MachO::N_OSO) return switchToNewDebugMapObject(Name, sys::toTimePoint(Value)); + if (Type == MachO::N_AST) { + SmallString<80> Path(PathPrefix); + sys::path::append(Path, Name); + Result->addDebugMapObject(Path, sys::toTimePoint(Value), Type); + return; + } + // If the last N_OSO object file wasn't found, // CurrentDebugMapObject will be null. Do not update anything // until we find the next valid N_OSO entry. |