diff options
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/MC/XCOFFObjectWriter.cpp | 3 | ||||
-rw-r--r-- | llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/MC/XCOFFObjectWriter.cpp b/llvm/lib/MC/XCOFFObjectWriter.cpp index 94c95279c06..d4dfd467976 100644 --- a/llvm/lib/MC/XCOFFObjectWriter.cpp +++ b/llvm/lib/MC/XCOFFObjectWriter.cpp @@ -247,8 +247,7 @@ void XCOFFObjectWriter::executePostLayoutBinding( const MCSymbolXCOFF *XSym = cast<MCSymbolXCOFF>(&S); // Map the symbol into its containing csect. - MCSectionXCOFF *ContainingCsect = - dyn_cast<MCSectionXCOFF>(XSym->getFragment(false)->getParent()); + const MCSectionXCOFF *ContainingCsect = XSym->getContainingCsect(); assert(WrapperMap.find(ContainingCsect) != WrapperMap.end() && "Expected containing csect to exist in map"); diff --git a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp index 39641879cc1..8d23238e615 100644 --- a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp +++ b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp @@ -1671,6 +1671,8 @@ void PPCAIXAsmPrinter::EmitGlobalVariable(const GlobalVariable *GV) { MCSymbolXCOFF *XSym = cast<MCSymbolXCOFF>(getSymbol(GV)); XSym->setStorageClass( TargetLoweringObjectFileXCOFF::getStorageClassForGlobal(GV)); + XSym->setContainingCsect(CSect); + const DataLayout &DL = GV->getParent()->getDataLayout(); unsigned Align = GV->getAlignment() ? GV->getAlignment() : DL.getPreferredAlignment(GV); |