Relocation and symbol types

Hi everyone,

I have questions about relocations.

  • “normal” relocation (current global mapping of the JIT ?) needs to be patch in code and relatively to the address of the code.
  • .LJTI are emitted because of a “switch”-like construct : this is the jumping table, the address of this table (in “data” section) needs to be patch in code section.
  • .LBB are emitted because of a “switch”-like construct : They need to be patch with code address but in the “data” section. (I understand BB as address of “Basic Block”)
  • .LCPI : It seems to be related to “constant pool entry” but I have no clue on what they are for. Anyone ?
  • .Ltmp : No clue on what it is used for, but it seems safe to ignore them ?

Are you aware of other “special” relocations, of their meaning and on how to patch them ?
Perhaps someone has a good link on a documentation/code/explanation ?

Thanks !
Olivier.