diff options
Diffstat (limited to 'llvm/lib/MC/ELFObjectWriter.cpp')
-rw-r--r-- | llvm/lib/MC/ELFObjectWriter.cpp | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/llvm/lib/MC/ELFObjectWriter.cpp b/llvm/lib/MC/ELFObjectWriter.cpp index ef600de..6fb67e6 100644 --- a/llvm/lib/MC/ELFObjectWriter.cpp +++ b/llvm/lib/MC/ELFObjectWriter.cpp @@ -1464,9 +1464,6 @@ void ELFObjectWriter::recordRelocation(MCAssembler &Asm, return; } - if (Fixup.getValue()) - fixSymbolsInTLSFixups(Asm, Fixup.getValue()); - const MCSymbolELF *RenamedSymA = SymA; if (SymA) { if (const MCSymbolELF *R = Renames.lookup(SymA)) @@ -1501,45 +1498,6 @@ bool ELFObjectWriter::isSymbolRefDifferenceFullyResolvedImpl( return &SymA.getSection() == FB.getParent(); } -void ELFObjectWriter::fixSymbolsInTLSFixups(MCAssembler &Asm, - const MCExpr *expr) { - switch (expr->getKind()) { - case MCExpr::Target: - cast<MCTargetExpr>(expr)->fixELFSymbolsInTLSFixups(Asm); - break; - case MCExpr::Constant: - break; - - case MCExpr::Binary: { - const MCBinaryExpr *be = cast<MCBinaryExpr>(expr); - fixSymbolsInTLSFixups(Asm, be->getLHS()); - fixSymbolsInTLSFixups(Asm, be->getRHS()); - break; - } - - case MCExpr::SymbolRef: { - const MCSymbolRefExpr &symRef = *cast<MCSymbolRefExpr>(expr); - switch (symRef.getKind()) { - default: - return; - case MCSymbolRefExpr::VK_GOTTPOFF: - case MCSymbolRefExpr::VK_TLSGD: - case MCSymbolRefExpr::VK_TLSLD: - case MCSymbolRefExpr::VK_TLSLDM: - case MCSymbolRefExpr::VK_TPOFF: - break; - } - Asm.registerSymbol(symRef.getSymbol()); - cast<MCSymbolELF>(symRef.getSymbol()).setType(ELF::STT_TLS); - break; - } - - case MCExpr::Unary: - fixSymbolsInTLSFixups(Asm, cast<MCUnaryExpr>(expr)->getSubExpr()); - break; - } -} - uint64_t ELFObjectWriter::writeObject(MCAssembler &Asm) { uint64_t Size = ELFWriter(*this, OS, IsLittleEndian, |