Relocation Type : R_PPC_ADDR16_LO
Soit : (x & 0xFF_FF)
Description : "Write the low 16 bits of the address of the symbol."
- Adresse à atteindre: 0x80981DE8
r_offset: 0x8097D296 / symb_add: 0x1DE8EC01
Je sais déjà que les 2 premiers octets du symb_add correspondent aux 2 derniers de l'adresse à atteindre. J'en ai déduit que pour atteindre cette adresse je dois faire ceci:
On pose x = symb_add, r = r_offset, y = adresse à atteindre
- Code:
-
y = ((r + x & 0xFF_FF) & 0xFF_FF_00_00) + (x >> 16)