diff options
| author | Joerg Sonnenberger <joerg@bec.de> | 2015-01-15 17:59:02 +0000 |
|---|---|---|
| committer | Joerg Sonnenberger <joerg@bec.de> | 2015-01-15 17:59:02 +0000 |
| commit | b6956e113afd142c8131a9e913c40451d10339f5 (patch) | |
| tree | 205ae9d88b878b5f1fbb8087712e4c161651921a /llvm | |
| parent | 92b25b9649521483c509ed6bd1e38cf18d39260d (diff) | |
| download | bcm5719-llvm-b6956e113afd142c8131a9e913c40451d10339f5.tar.gz bcm5719-llvm-b6956e113afd142c8131a9e913c40451d10339f5.zip | |
Support @PLT loads on 32bit x86.
llvm-svn: 226182
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp | 3 | ||||
| -rw-r--r-- | llvm/test/MC/ELF/relocation-386.s | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp b/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp index be6a8e4a43e..e8b0b4c5826 100644 --- a/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp +++ b/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp @@ -222,6 +222,9 @@ unsigned X86ELFObjectWriter::GetRelocType(const MCValue &Target, 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; diff --git a/llvm/test/MC/ELF/relocation-386.s b/llvm/test/MC/ELF/relocation-386.s index ba12df0d3b6..83c524b9d07 100644 --- a/llvm/test/MC/ELF/relocation-386.s +++ b/llvm/test/MC/ELF/relocation-386.s @@ -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@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@GOTOFF, %edi + movl zed@PLT(%eax), %eax .section zedsec,"awT",@progbits zed: |

