aboutsummaryrefslogtreecommitdiff
path: root/lib/MC/MCObjectWriter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/MC/MCObjectWriter.cpp')
-rw-r--r--lib/MC/MCObjectWriter.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/MC/MCObjectWriter.cpp b/lib/MC/MCObjectWriter.cpp
index f7a790410c..efe9f68ee2 100644
--- a/lib/MC/MCObjectWriter.cpp
+++ b/lib/MC/MCObjectWriter.cpp
@@ -66,3 +66,15 @@ MCObjectWriter::IsSymbolRefDifferenceFullyResolved(const MCAssembler &Asm,
InSet,
false);
}
+
+bool
+MCObjectWriter::IsSymbolRefDifferenceFullyResolvedImpl(const MCAssembler &Asm,
+ const MCSymbolData &DataA,
+ const MCFragment &FB,
+ bool InSet,
+ bool IsPCRel) const {
+ const MCSection &SecA = DataA.getSymbol().AliasedSymbol().getSection();
+ const MCSection &SecB = FB.getParent()->getSection();
+ // On ELF and COFF A - B is absolute if A and B are in the same section.
+ return &SecA == &SecB;
+}