dyld: EXIDX location #17
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Each entry in the EXIDX contains:
0x1: EXIDX_CANTUNWIND.The first word is used for binary search for the exception handling entry of a function by its PC. The current dyld changes the relative position between the EXIDX and other parts of the ELF as the EXIDX is cloned to a vector. Hence, the unwinder would not be able to find the correct entry for the function.
Fix: either preserve the original position of the EXIDX section, or recompute the offset for the PC.
References:
@astro
Loading it into the
Imagesounds like the most logical solution.In this sample
EXIDXoverlaps with a load segment. Seems it is to be loaded already and we just have to keep the address.