diff options
author | Pete Cooper <peter_cooper@apple.com> | 2016-02-02 01:52:40 +0000 |
---|---|---|
committer | Pete Cooper <peter_cooper@apple.com> | 2016-02-02 01:52:40 +0000 |
commit | c7d4035e70bed1d85272aff865768bf06fb37b89 (patch) | |
tree | 1ce8764d7b96f8fd3a22d36ca0f26f953100f9f4 | |
parent | 68a8efa374740a0829e77f57c8a2b13bead85d7f (diff) | |
download | bcm5719-llvm-c7d4035e70bed1d85272aff865768bf06fb37b89.tar.gz bcm5719-llvm-c7d4035e70bed1d85272aff865768bf06fb37b89.zip |
Set ordinals of all File's created in MachO passes.
When we do debug printing of atoms, they expect their parent file
to have an ordinal. Right now we trigger a bunch of asserts.
This doesn't actually manifest in differences in any real tests, but
even if the only thing it does is improve debuggability then its still
useful.
llvm-svn: 259450
-rw-r--r-- | lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp | 4 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/MachO/GOTPass.cpp | 4 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/MachO/ShimPass.cpp | 4 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/MachO/StubsPass.cpp | 4 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/MachO/TLVPass.cpp | 4 |
5 files changed, 15 insertions, 5 deletions
diff --git a/lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp b/lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp index 4b8644a67e7..2e6ac0d6290 100644 --- a/lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp +++ b/lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp @@ -274,7 +274,9 @@ public: CompactUnwindPass(const MachOLinkingContext &context) : _ctx(context), _archHandler(_ctx.archHandler()), _file("<mach-o Compact Unwind Pass>"), - _isBig(MachOLinkingContext::isBigEndian(_ctx.arch())) {} + _isBig(MachOLinkingContext::isBigEndian(_ctx.arch())) { + _file.setOrdinal(_ctx.getNextOrdinalAndIncrement()); + } private: std::error_code perform(SimpleFile &mergedFile) override { diff --git a/lld/lib/ReaderWriter/MachO/GOTPass.cpp b/lld/lib/ReaderWriter/MachO/GOTPass.cpp index a5816277dd7..7596af97267 100644 --- a/lld/lib/ReaderWriter/MachO/GOTPass.cpp +++ b/lld/lib/ReaderWriter/MachO/GOTPass.cpp @@ -91,7 +91,9 @@ class GOTPass : public Pass { public: GOTPass(const MachOLinkingContext &context) : _ctx(context), _archHandler(_ctx.archHandler()), - _file("<mach-o GOT Pass>") {} + _file("<mach-o GOT Pass>") { + _file.setOrdinal(_ctx.getNextOrdinalAndIncrement()); + } private: std::error_code perform(SimpleFile &mergedFile) override { diff --git a/lld/lib/ReaderWriter/MachO/ShimPass.cpp b/lld/lib/ReaderWriter/MachO/ShimPass.cpp index df29e37c183..60b0d8034d8 100644 --- a/lld/lib/ReaderWriter/MachO/ShimPass.cpp +++ b/lld/lib/ReaderWriter/MachO/ShimPass.cpp @@ -42,7 +42,9 @@ class ShimPass : public Pass { public: ShimPass(const MachOLinkingContext &context) : _ctx(context), _archHandler(_ctx.archHandler()), - _stubInfo(_archHandler.stubInfo()), _file("<mach-o shim pass>") {} + _stubInfo(_archHandler.stubInfo()), _file("<mach-o shim pass>") { + _file.setOrdinal(_ctx.getNextOrdinalAndIncrement()); + } std::error_code perform(SimpleFile &mergedFile) override { // Scan all references in all atoms. diff --git a/lld/lib/ReaderWriter/MachO/StubsPass.cpp b/lld/lib/ReaderWriter/MachO/StubsPass.cpp index 1f61256a5b7..fc2760b50eb 100644 --- a/lld/lib/ReaderWriter/MachO/StubsPass.cpp +++ b/lld/lib/ReaderWriter/MachO/StubsPass.cpp @@ -199,7 +199,9 @@ class StubsPass : public Pass { public: StubsPass(const MachOLinkingContext &context) : _ctx(context), _archHandler(_ctx.archHandler()), - _stubInfo(_archHandler.stubInfo()), _file("<mach-o Stubs pass>") {} + _stubInfo(_archHandler.stubInfo()), _file("<mach-o Stubs pass>") { + _file.setOrdinal(_ctx.getNextOrdinalAndIncrement()); + } std::error_code perform(SimpleFile &mergedFile) override { // Skip this pass if output format uses text relocations instead of stubs. diff --git a/lld/lib/ReaderWriter/MachO/TLVPass.cpp b/lld/lib/ReaderWriter/MachO/TLVPass.cpp index aba222edcd2..fee07cb3955 100644 --- a/lld/lib/ReaderWriter/MachO/TLVPass.cpp +++ b/lld/lib/ReaderWriter/MachO/TLVPass.cpp @@ -65,7 +65,9 @@ class TLVPass : public Pass { public: TLVPass(const MachOLinkingContext &context) : _ctx(context), _archHandler(_ctx.archHandler()), - _file("<mach-o TLV Pass>") {} + _file("<mach-o TLV Pass>") { + _file.setOrdinal(_ctx.getNextOrdinalAndIncrement()); + } private: std::error_code perform(SimpleFile &mergedFile) override { |