diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-05-26 00:36:57 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-05-26 00:36:57 +0000 |
commit | 7549f876723d6711248419b0794ede4c4dea3077 (patch) | |
tree | aa1fad623d754c84cad0e509aee151a075896ca8 /llvm/lib/MC/MachObjectWriter.cpp | |
parent | 24d285d31ba07be9edff7788aa5003192dbbfb3a (diff) | |
download | llvm-7549f876723d6711248419b0794ede4c4dea3077.zip llvm-7549f876723d6711248419b0794ede4c4dea3077.tar.gz llvm-7549f876723d6711248419b0794ede4c4dea3077.tar.bz2 |
Return a MCSection from MCFragment::getParent().
Another step in merging MCSectionData and MCSection.
llvm-svn: 238162
Diffstat (limited to 'llvm/lib/MC/MachObjectWriter.cpp')
-rw-r--r-- | llvm/lib/MC/MachObjectWriter.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/lib/MC/MachObjectWriter.cpp b/llvm/lib/MC/MachObjectWriter.cpp index 240aa4d..585b4f7 100644 --- a/llvm/lib/MC/MachObjectWriter.cpp +++ b/llvm/lib/MC/MachObjectWriter.cpp @@ -67,8 +67,8 @@ bool MachObjectWriter::isFixupKindPCRel(const MCAssembler &Asm, unsigned Kind) { uint64_t MachObjectWriter::getFragmentAddress(const MCFragment *Fragment, const MCAsmLayout &Layout) const { - return getSectionAddress(Fragment->getParent()) + - Layout.getFragmentOffset(Fragment); + return getSectionAddress(&Fragment->getParent()->getSectionData()) + + Layout.getFragmentOffset(Fragment); } uint64_t MachObjectWriter::getSymbolAddress(const MCSymbol &S, @@ -101,7 +101,8 @@ uint64_t MachObjectWriter::getSymbolAddress(const MCSymbol &S, return Address; } - return getSectionAddress(S.getData().getFragment()->getParent()) + + return getSectionAddress( + &S.getData().getFragment()->getParent()->getSectionData()) + Layout.getSymbolOffset(S); } @@ -679,7 +680,7 @@ bool MachObjectWriter::IsSymbolRefDifferenceFullyResolvedImpl( // addr(atom(A)) - addr(atom(B)) == 0. const MCSymbol &SA = findAliasedSymbol(SymA); const MCSection &SecA = SA.getSection(); - const MCSection &SecB = FB.getParent()->getSection(); + const MCSection &SecB = *FB.getParent(); if (IsPCRel) { // The simple (Darwin, except on x86_64) way of dealing with this was to |