diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2011-01-01 19:05:35 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2011-01-01 19:05:35 +0000 |
commit | 7a54997d670d92f7f0ece87911800aa68fcb8c6d (patch) | |
tree | 6f7b754e3e18573ebb10929eccf0d66cf943d785 | |
parent | 5e09eefe95eb9fde26879e43ef9c2704505dc6f2 (diff) | |
download | external_llvm-7a54997d670d92f7f0ece87911800aa68fcb8c6d.zip external_llvm-7a54997d670d92f7f0ece87911800aa68fcb8c6d.tar.gz external_llvm-7a54997d670d92f7f0ece87911800aa68fcb8c6d.tar.bz2 |
Fix PR8878.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122658 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/MC/ELFObjectWriter.cpp | 1 | ||||
-rw-r--r-- | test/MC/ELF/relocation.s | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/lib/MC/ELFObjectWriter.cpp b/lib/MC/ELFObjectWriter.cpp index c4e2e3f..757a56a 100644 --- a/lib/MC/ELFObjectWriter.cpp +++ b/lib/MC/ELFObjectWriter.cpp @@ -1610,6 +1610,7 @@ unsigned X86ELFObjectWriter::GetRelocType(const MCValue &Target, assert(Modifier == MCSymbolRefExpr::VK_None); Type = ELF::R_X86_64_PC64; break; + case X86::reloc_signed_4byte: case X86::reloc_riprel_4byte_movq_load: case FK_Data_4: // FIXME? case X86::reloc_riprel_4byte: diff --git a/test/MC/ELF/relocation.s b/test/MC/ELF/relocation.s index ea27214..697e4a6 100644 --- a/test/MC/ELF/relocation.s +++ b/test/MC/ELF/relocation.s @@ -16,6 +16,7 @@ bar: leaq foo@DTPOFF(%rax), %rcx # R_X86_64_DTPOFF32 pushq $bar movq foo(%rip), %rdx + leaq foo-bar(%r14),%r14 // CHECK: # Section 0x00000001 @@ -105,3 +106,9 @@ bar: // CHECK-NEXT: ('r_sym', 0x00000006) // CHECK-NEXT: ('r_type', 0x00000002) // CHECK-NEXT: ('r_addend', 0xfffffffc) + +// CHECK: # Relocation 0x0000000d +// CHECK-NEXT: (('r_offset', 0x0000005c) +// CHECK-NEXT: ('r_sym', 0x00000006) +// CHECK-NEXT: ('r_type', 0x00000002) +// CHECK-NEXT: ('r_addend', 0x0000005c) |