Commit 2f531f7
committed
[Mach-O] Refactor fixup chain parsing
The parsing of fix-up chains is moved out of `MachoView` and into its
own class. It deals purely in terms of offsets into the Mach-O slice.
`MachoView` translates those offsets to mapped addresses when needed.
This is primarily aimed at fixing incorrect handling of pointer formats
that use offsets where in some cases the relocations would be applied at
incorrect addresses due to confusion between file offsets, Mach-O slice
offsets, and VM offsets.
It incidentally fixes addends from bind operations not being respected.
These show up most frequently in C++ RTTI information.1 parent 4c8fa39 commit 2f531f7
File tree
4 files changed
+686
-418
lines changed- view/macho
4 files changed
+686
-418
lines changed
0 commit comments