ARM Relocation Information

Hi all,

Does anyone knows where to add relocation information to assembly data instructions?

For instance, ARM GCC generates symbols like:


While Clang doesn’t include the TARGET2 relocation information, and that mess up cross-linking.

Looking at the AsmPrinter, when emitting the global constant value (EmitGlobalConstant), it calls EmitGlobalConstantImpl, which end up using EmitValue or EmitIntValue, but neither has relocation information on them.

Also, searching the code, I couldn’t find any reference to relocation or any of the basic relocation types available in Codesourcery’s GCC. Is there anything at all in LLVM regarding relocations? If not, what would be the best place to add and link from ARMMC* and ARMAsmPrinter?