mirror of
https://github.com/encounter/objdiff.git
synced 2025-06-07 15:13:47 +00:00
* PPC: Calculate pooled relocations Reimplements #140 The relocations are now generated when the object is first read in `parse`, right after the real relocations are read. `resolve_relocation` was changed to take `obj.symbols` instead of `obj` as an argument, because `obj` itself doesn't exist yet at the time the relocations are being read. * Improve readability of PPC pool relocs code * Fix regression causing extern pool relocs to be ignored * Fix showing incorrect diff when diffing weak stripped symbol with an addend This is a regression that was introduced by #158 diffing addends in addition to symbol names. But it's not really a bug in that PR, rather it seems like I simply never added the offset into the addend when creating a fake pool relocation for an extern symbol. So this commit fixes that root issue instead. * Add PPC "Calculate pooled data references" option * Fix objdiff-wasm compilation errors * Update PPC test snapshots
objdiff-core
objdiff-core contains the core functionality of objdiff, a tool for comparing object files in decompilation projects. See the main repository for more information.
Crate feature flags
all
: Enables all main features.config
: Enables objdiff configuration file support.dwarf
: Enables extraction of line number information from DWARF debug sections.mips
: Enables the MIPS backend powered by rabbitizer. (Note: C library with Rust bindings)ppc
: Enables the PowerPC backend powered by ppc750cl.x86
: Enables the x86 backend powered by iced-x86.arm
: Enables the ARM backend powered by unarm.arm64
: Enables the ARM64 backend powered by yaxpeax-arm.bindings
: Enables serialization and deserialization of objdiff data structures.