[llvm] r232651 - Handle X86::reloc_riprel_4byte in 32 bits mode.
Rafael Espindola
rafael.espindola at gmail.com
Wed Mar 18 10:33:40 PDT 2015
Author: rafael
Date: Wed Mar 18 12:33:40 2015
New Revision: 232651
URL: http://llvm.org/viewvc/llvm-project?rev=232651&view=rev
Log:
Handle X86::reloc_riprel_4byte in 32 bits mode.
We can get there with .code64.
Fixes pr22349.
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=232651&r1=232650&r2=232651&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp (original)
+++ llvm/trunk/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp Wed Mar 18 12:33:40 2015
@@ -191,6 +191,7 @@ unsigned X86ELFObjectWriter::GetRelocTyp
}
break;
+ case X86::reloc_riprel_4byte:
case X86::reloc_signed_4byte:
case FK_PCRel_4:
case FK_Data_4:
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=232651&r1=232650&r2=232651&view=diff
==============================================================================
--- llvm/trunk/test/MC/ELF/relocation-386.s (original)
+++ llvm/trunk/test/MC/ELF/relocation-386.s Wed Mar 18 12:33:40 2015
@@ -65,6 +65,7 @@
// 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: 0xAF R_386_PC32 tr_start 0x0
// CHECK-NEXT: }
// CHECK-NEXT: ]
@@ -133,6 +134,9 @@ bar2:
leal 1 + und_symbol at GOTOFF, %edi
movl zed at PLT(%eax), %eax
+ .code64
+ jmpq *tr_start(%rip)
+
.section zedsec,"awT", at progbits
zed:
.long 0
More information about the llvm-commits
mailing list