summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPete Cooper <peter_cooper@apple.com>2016-02-02 01:52:40 +0000
committerPete Cooper <peter_cooper@apple.com>2016-02-02 01:52:40 +0000
commitc7d4035e70bed1d85272aff865768bf06fb37b89 (patch)
tree1ce8764d7b96f8fd3a22d36ca0f26f953100f9f4
parent68a8efa374740a0829e77f57c8a2b13bead85d7f (diff)
downloadbcm5719-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.cpp4
-rw-r--r--lld/lib/ReaderWriter/MachO/GOTPass.cpp4
-rw-r--r--lld/lib/ReaderWriter/MachO/ShimPass.cpp4
-rw-r--r--lld/lib/ReaderWriter/MachO/StubsPass.cpp4
-rw-r--r--lld/lib/ReaderWriter/MachO/TLVPass.cpp4
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 {
OpenPOWER on IntegriCloud