On 08.08.2024 15:17, Frediano Ziglio wrote: > The computation of %esi is correct after the additional "add" command, > in the sense it will point to the current base (under 4GB) however > then you will use syms_esi(foo) thinking "if %esi is correct then also > syms_esi is correct" and it isn't. > So either you need to add another offset to make syms_esi(foo) correct > having %esi not pointing to the base or assuming that syms_esi(foo) > would need fixing. > Potentially the first option would be better, you just need to > remember to correct %esi after rolling back relocations.
Right, the preferred goal is to have sym_esi() working right, so you wouldn't need to touch all of them. The number of direct uses of %esi is, I think, far smaller. Jan
