summaryrefslogtreecommitdiffstats
path: root/llvm/tools/dsymutil/DebugMap.h
diff options
context:
space:
mode:
authorFrancis Ricci <francisjricci@gmail.com>2017-10-05 20:03:01 +0000
committerFrancis Ricci <francisjricci@gmail.com>2017-10-05 20:03:01 +0000
commit2b513b5c996c7ada1a5826d097cfde563bd5ca99 (patch)
treef72242571d95e8f80e5f135a7b50e971fa19a5ff /llvm/tools/dsymutil/DebugMap.h
parent7ae3ae9ef4cf3a427078bbb9f8ca4b4d0080569c (diff)
downloadbcm5719-llvm-2b513b5c996c7ada1a5826d097cfde563bd5ca99.tar.gz
bcm5719-llvm-2b513b5c996c7ada1a5826d097cfde563bd5ca99.zip
[llvm-dsymutil] Add support for __swift_ast MachO DWARF section
Summary: Xcode's dsymutil emits a __swift_ast DWARF section, which is required for debugging, and which contains a byte-for-byte dump of the swiftmodule file. Add this feature to llvm-dsymutil. Tested with `gobjdump --dwarf=info -s`, by verifying that the contents of `__DWARF.__swift_ast` match between Xcode's dsymutil and llvm-dsymutil (Xcode's dwarfdump and llvm-dwarfdump don't currently recognize the __swift_ast section). Reviewers: aprantl, friss Subscribers: llvm-commits, JDevlieghere Differential Revision: https://reviews.llvm.org/D38504 llvm-svn: 315014
Diffstat (limited to 'llvm/tools/dsymutil/DebugMap.h')
-rw-r--r--llvm/tools/dsymutil/DebugMap.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/tools/dsymutil/DebugMap.h b/llvm/tools/dsymutil/DebugMap.h
index eab0cb0a800..0b564149488 100644
--- a/llvm/tools/dsymutil/DebugMap.h
+++ b/llvm/tools/dsymutil/DebugMap.h
@@ -94,7 +94,8 @@ public:
/// debug map.
DebugMapObject &
addDebugMapObject(StringRef ObjectFilePath,
- sys::TimePoint<std::chrono::seconds> Timestamp);
+ sys::TimePoint<std::chrono::seconds> Timestamp,
+ uint8_t Type);
const Triple &getTriple() const { return BinaryTriple; }
@@ -154,6 +155,8 @@ public:
return Timestamp;
}
+ uint8_t getType() const { return Type; }
+
iterator_range<StringMap<SymbolMapping>::const_iterator> symbols() const {
return make_range(Symbols.begin(), Symbols.end());
}
@@ -166,12 +169,13 @@ private:
friend class DebugMap;
/// DebugMapObjects can only be constructed by the owning DebugMap.
DebugMapObject(StringRef ObjectFilename,
- sys::TimePoint<std::chrono::seconds> Timestamp);
+ sys::TimePoint<std::chrono::seconds> Timestamp, uint8_t Type);
std::string Filename;
sys::TimePoint<std::chrono::seconds> Timestamp;
StringMap<SymbolMapping> Symbols;
DenseMap<uint64_t, DebugMapEntry *> AddressToMapping;
+ uint8_t Type;
/// For YAMLIO support.
///@{
OpenPOWER on IntegriCloud