[llvm-commits] [llvm] r145911 - in /llvm/trunk/lib/MC: ELFObjectWriter.cpp ELFObjectWriter.h
Bruno Cardoso Lopes
bruno.cardoso at gmail.com
Mon Dec 5 19:34:42 PST 2011
Author: bruno
Date: Mon Dec 5 21:34:42 2011
New Revision: 145911
URL: http://llvm.org/viewvc/llvm-project?rev=145911&view=rev
Log:
Explicit symbols for gnu mimicing relocations. Patch by Jack Carter
Modified:
llvm/trunk/lib/MC/ELFObjectWriter.cpp
llvm/trunk/lib/MC/ELFObjectWriter.h
Modified: llvm/trunk/lib/MC/ELFObjectWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/ELFObjectWriter.cpp?rev=145911&r1=145910&r2=145911&view=diff
==============================================================================
--- llvm/trunk/lib/MC/ELFObjectWriter.cpp (original)
+++ llvm/trunk/lib/MC/ELFObjectWriter.cpp Mon Dec 5 21:34:42 2011
@@ -1831,6 +1831,20 @@
ELF::EF_MIPS_ARCH_32R2);
}
+const MCSymbol *MipsELFObjectWriter::ExplicitRelSym(const MCAssembler &Asm,
+ const MCValue &Target,
+ const MCFragment &F,
+ const MCFixup &Fixup,
+ bool IsPCRel) const {
+ assert(Target.getSymA() && "SymA cannot be 0.");
+ const MCSymbol &Sym = Target.getSymA()->getSymbol();
+
+ if (Sym.getSection().getKind().isMergeable1ByteCString())
+ return &Sym;
+
+ return NULL;
+}
+
unsigned MipsELFObjectWriter::GetRelocType(const MCValue &Target,
const MCFixup &Fixup,
bool IsPCRel,
Modified: llvm/trunk/lib/MC/ELFObjectWriter.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/ELFObjectWriter.h?rev=145911&r1=145910&r2=145911&view=diff
==============================================================================
--- llvm/trunk/lib/MC/ELFObjectWriter.h (original)
+++ llvm/trunk/lib/MC/ELFObjectWriter.h Mon Dec 5 21:34:42 2011
@@ -445,6 +445,12 @@
virtual void WriteEFlags();
protected:
+ virtual const MCSymbol *ExplicitRelSym(const MCAssembler &Asm,
+ const MCValue &Target,
+ const MCFragment &F,
+ const MCFixup &Fixup,
+ bool IsPCRel) const;
+
virtual unsigned GetRelocType(const MCValue &Target, const MCFixup &Fixup,
bool IsPCRel, bool IsRelocWithSymbol,
int64_t Addend);
More information about the llvm-commits
mailing list