[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