mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
Explicit symbols for gnu mimicing relocations. Patch by Jack Carter
llvm-svn: 145911
This commit is contained in:
parent
4638d36bd2
commit
379e4c7a14
@ -1831,6 +1831,20 @@ void MipsELFObjectWriter::WriteEFlags() {
|
||||
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,
|
||||
|
@ -445,6 +445,12 @@ class ELFObjectWriter : public MCObjectWriter {
|
||||
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);
|
||||
|
Loading…
Reference in New Issue
Block a user