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?


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.