Go to the first, previous, next, last section, table of contents.


Relocation Information

Relocation information is needed to indentify possible target of computed jumps like jmp,jsr.

If the target address of a jmp or jsr instruction can be computed the instruction will be "strength reduced" to its non-computed counterpart jmp->br,jsr->bsr:

This conversion in done as part of the "partial evaluater optimization", so the CFG might change over time.

If this strength reduction is not possible we assume that all relocatable bbls are possibe targets (via PSEUDO_HELL).

We exploit the fact that there are different types of relocation entries:

gprel32
32 bit offset from the gp register, used for switch statements and function calls.
refquad
64 bit absolut, used for function calls and nonstandard table jumps


Go to the first, previous, next, last section, table of contents.