[LLVMdev] ARM Relocation Information

Renato Golin renato.golin at arm.com
Thu May 27 09:31:22 PDT 2010


> -----Original Message-----
> Is there any documentation for this stuff?

Hi Anton,

Sure, EABI pdfs. For instance, the EHABI (4.4.2) state that "exception tables should be free of dynamic relocations. A static relocation may be applied to an exception table for the following purposes:" and list them, including RTTI (which is TARGET2).

What I couldn't find, however, was a complete list of all cases and their specific relocations.

AAELF 4.7.1.2 list (and explain briefly) all supported relocation types. GCC doesn't support all of them, so you can have a look in its source for the most used ones.

Digging a bit deeper I saw that MCAsmStreamer is the one printing the values. So I could modify MCExpr to include a MCRelocation that gets printed, if available, following the platform specific relocation types (eg. ARMMCRelocation.print()), with the default being null.

Does it seem fair? It's my first dig into MC stuff, might be completely wrong... ;)

Cheers,
--renato






More information about the llvm-dev mailing list