Produce ELF::R_386_GOTPC relocations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116728 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola
2010-10-18 18:36:12 +00:00
parent 01b58f637c
commit aa85c21633
3 changed files with 18 additions and 1 deletions

View File

@ -707,7 +707,12 @@ void ELFObjectWriterImpl::RecordRelocation(const MCAssembler &Asm,
break;
}
break;
case FK_Data_4: Type = ELF::R_386_32; break;
case FK_Data_4:
if (Symbol->getName() == "_GLOBAL_OFFSET_TABLE_")
Type = ELF::R_386_GOTPC;
else
Type = ELF::R_386_32;
break;
case FK_Data_2: Type = ELF::R_386_16; break;
case X86::reloc_pcrel_1byte:
case FK_Data_1: Type = ELF::R_386_8; break;