Jason Kim
2010-Oct-27 22:06 UTC
[LLVMdev] ARMCodeEmitter vs ARMMCCodeEmitter (ARM relocations for ELF)
Hi everyone, I am getting into the ARM specific relocation for MC/ELF, and have some questions There are some x86/arm specific relocation values already, before they are lowered down to ELF reloc types (i.e. ARMRelocations.h and X86Relocations.h) As near as I can figure it, the relocation constants in (ARM|X86)Relocations.h are used only in ARMCodeEmitter, and X86CodeEmitter.cpp respectively - and on X86 only materialized in the JIT case for the X86) Are these relocation values for X86 deemed to be kosher for MC? I was made curious by a comment in ARMBaseInstrInfo.h:166 saying that the ARMCodeEmitter should go away - Since this comment was describing a constant used in the JIT side for playing with the address computation that used the reloc enums defined in ARMRelocations.h, it makes me believe that the ultimate plan is for (ARM|X86)CodeEmitter.[ch]pp to be deprecated (and thus the existing relocation types will be deprecated as well..) Is this the case? Thanks! -jason
Jim Grosbach
2010-Oct-27 22:14 UTC
[LLVMdev] ARMCodeEmitter vs ARMMCCodeEmitter (ARM relocations for ELF)
On Oct 27, 2010, at 3:06 PM, Jason Kim wrote:> Hi everyone, > > I am getting into the ARM specific relocation for MC/ELF, and have > some questions > > There are some x86/arm specific relocation values already, before they > are lowered down to ELF reloc types > (i.e. ARMRelocations.h and X86Relocations.h) > > As near as I can figure it, the relocation constants in > (ARM|X86)Relocations.h are used only in ARMCodeEmitter, and > X86CodeEmitter.cpp respectively - and on X86 only materialized in the > JIT case for the X86) > Are these relocation values for X86 deemed to be kosher for MC? I was > made curious by a comment in ARMBaseInstrInfo.h:166 saying that the > ARMCodeEmitter should go away - > > Since this comment was describing a constant used in the JIT side for > playing with the address computation that used the reloc enums defined > in ARMRelocations.h, it makes me believe that the ultimate plan is for > (ARM|X86)CodeEmitter.[ch]pp to be deprecated (and thus the existing > relocation types will be deprecated as well..) > > Is this the case?Hi Jason, The ARM JIT will be MC'ized and thus the existing ARMCodeEmitter bits will go away as a result, yes. I expect the X86 JIT will follow a similar path. I don't know why the relocation constants wouldn't be applicable to the MC based emitters. Those are, as I understand it, pretty orthogonal to the specifics of the input form to the code emitter. I think it's safe to proceed under that assumption. If need be, we can adjust later. -Jim
Maybe Matching Threads
- [LLVMdev] ARMCodeEmitter.cpp JIT support very broken (2.9 and svn)
- [LLVMdev] ARMCodeEmitter.cpp JIT support very broken (2.9 and svn)
- [LLVMdev] ARMCodeEmitter.cpp JIT support very broken (2.9 and svn)
- [LLVMdev] ARMCodeEmitter.cpp JIT support very broken (2.9 and svn)
- [LLVMdev] ARMCodeEmitter.cpp JIT support very broken (2.9 and svn)