diff options
Diffstat (limited to 'llvm/lib/MC/ELFObjectWriter.cpp')
| -rw-r--r-- | llvm/lib/MC/ELFObjectWriter.cpp | 19 | 
1 files changed, 19 insertions, 0 deletions
diff --git a/llvm/lib/MC/ELFObjectWriter.cpp b/llvm/lib/MC/ELFObjectWriter.cpp index 77017fb4..7488b1b 100644 --- a/llvm/lib/MC/ELFObjectWriter.cpp +++ b/llvm/lib/MC/ELFObjectWriter.cpp @@ -317,6 +317,13 @@ namespace {                                            MCDataFragment *F,                                            const MCSectionData *SD); +    virtual bool +    IsSymbolRefDifferenceFullyResolvedImpl(const MCAssembler &Asm, +                                           const MCSymbolData &DataA, +                                           const MCFragment &FB, +                                           bool InSet, +                                           bool IsPCRel) const; +      virtual void WriteObject(MCAssembler &Asm, const MCAsmLayout &Layout);      virtual void WriteSection(MCAssembler &Asm,                        const SectionIndexMapTy &SectionIndexMap, @@ -1438,6 +1445,18 @@ void ELFObjectWriter::WriteObject(MCAssembler &Asm,    }  } +bool +ELFObjectWriter::IsSymbolRefDifferenceFullyResolvedImpl(const MCAssembler &Asm, +                                                      const MCSymbolData &DataA, +                                                      const MCFragment &FB, +                                                      bool InSet, +                                                      bool IsPCRel) const { +  if (DataA.getFlags() & ELF_STB_Weak) +    return false; +  return MCObjectWriter::IsSymbolRefDifferenceFullyResolvedImpl( +                                                 Asm, DataA, FB,InSet, IsPCRel); +} +  MCObjectWriter *llvm::createELFObjectWriter(MCELFObjectTargetWriter *MOTW,                                              raw_ostream &OS,                                              bool IsLittleEndian) {  | 
