[llvm] r226182 - Support @PLT loads on 32bit x86.
Joerg Sonnenberger
joerg at bec.de
Thu Jan 15 09:59:02 PST 2015
Author: joerg
Date: Thu Jan 15 11:59:02 2015
New Revision: 226182
URL: http://llvm.org/viewvc/llvm-project?rev=226182&view=rev
Log:
Support @PLT loads on 32bit x86.
Modified:
llvm/trunk/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
llvm/trunk/test/MC/ELF/relocation-386.s
Modified: llvm/trunk/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp?rev=226182&r1=226181&r2=226182&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp (original)
+++ llvm/trunk/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp Thu Jan 15 11:59:02 2015
@@ -222,6 +222,9 @@ unsigned X86ELFObjectWriter::GetRelocTyp
case MCSymbolRefExpr::VK_GOT:
Type = ELF::R_386_GOT32;
break;
+ case MCSymbolRefExpr::VK_PLT:
+ Type = ELF::R_386_PLT32;
+ break;
case MCSymbolRefExpr::VK_GOTOFF:
Type = ELF::R_386_GOTOFF;
break;
Modified: llvm/trunk/test/MC/ELF/relocation-386.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ELF/relocation-386.s?rev=226182&r1=226181&r2=226182&view=diff
==============================================================================
--- llvm/trunk/test/MC/ELF/relocation-386.s (original)
+++ llvm/trunk/test/MC/ELF/relocation-386.s Thu Jan 15 11:59:02 2015
@@ -63,6 +63,8 @@
// Relocation 28 (und_symbol-bar2) is of type R_386_PC8
// CHECK-NEXT: 0xA0 R_386_PC8 und_symbol 0x0
// CHECK-NEXT: 0xA3 R_386_GOTOFF und_symbol 0x0
+// Relocation 29 (zed at PLT) is of type R_386_PLT32 and uses the symbol
+// CHECK-NEXT: 0xA9 R_386_PLT32 zed 0x0
// CHECK-NEXT: }
// CHECK-NEXT: ]
@@ -129,6 +131,7 @@ bar2:
.byte und_symbol-bar2
leal 1 + und_symbol at GOTOFF, %edi
+ movl zed at PLT(%eax), %eax
.section zedsec,"awT", at progbits
zed:
More information about the llvm-commits
mailing list