diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2010-10-28 15:11:03 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2010-10-28 15:11:03 +0000 |
commit | 936ba3af2870a1b186819794514a944cfac03c57 (patch) | |
tree | 95a29d91f3307d6a8ac9169a1223277bf9a52a76 | |
parent | 2dbec3f762c3e099285e68143a6fd25948d01516 (diff) | |
download | bcm5719-llvm-936ba3af2870a1b186819794514a944cfac03c57.tar.gz bcm5719-llvm-936ba3af2870a1b186819794514a944cfac03c57.zip |
Implement R_X86_64_DTPOFF32.
llvm-svn: 117548
-rw-r--r-- | llvm/lib/MC/ELFObjectWriter.cpp | 3 | ||||
-rw-r--r-- | llvm/test/MC/ELF/relocation.s | 7 |
2 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/MC/ELFObjectWriter.cpp b/llvm/lib/MC/ELFObjectWriter.cpp index 35f3f104c5b..b979de9322c 100644 --- a/llvm/lib/MC/ELFObjectWriter.cpp +++ b/llvm/lib/MC/ELFObjectWriter.cpp @@ -728,6 +728,9 @@ void ELFObjectWriterImpl::RecordRelocation(const MCAssembler &Asm, case MCSymbolRefExpr::VK_TPOFF: Type = ELF::R_X86_64_TPOFF32; break; + case MCSymbolRefExpr::VK_DTPOFF: + Type = ELF::R_X86_64_DTPOFF32; + break; } break; case FK_Data_4: diff --git a/llvm/test/MC/ELF/relocation.s b/llvm/test/MC/ELF/relocation.s index 546d89c1eca..8d38b86c34c 100644 --- a/llvm/test/MC/ELF/relocation.s +++ b/llvm/test/MC/ELF/relocation.s @@ -13,6 +13,7 @@ bar: leaq foo@TLSGD(%rip), %rax # R_X86_64_TLSGD leaq foo@TPOFF(%rax), %rax # R_X86_64_TPOFF32 leaq foo@TLSLD(%rip), %rdi # R_X86_64_TLSLD + leaq foo@DTPOFF(%rax), %rcx # R_X86_64_DTPOFF32 // CHECK: # Section 0x00000001 // CHECK: (('sh_name', 0x00000001) # '.text' @@ -83,3 +84,9 @@ bar: // CHECK-NEXT: ('r_sym', 0x00000006) // CHECK-NEXT: ('r_type', 0x00000014) // CHECK-NEXT: ('r_addend', 0xfffffffc) + +// CHECK: # Relocation 0x0000000a +// CHECK-NEXT: (('r_offset', 0x00000049) +// CHECK-NEXT: ('r_sym', 0x00000006) +// CHECK-NEXT: ('r_type', 0x00000015) +// CHECK-NEXT: ('r_addend', 0x00000000) |