encounter / objdiff

A local diffing tool for decompilation projects
Apache License 2.0
77 stars 13 forks source link

Stack offset highlighting doesn't work for different instructions #32

Closed LagoLunatic closed 7 months ago

LagoLunatic commented 7 months ago

If you click on a particular stack offset, objdiff highlights other instances of that offset for similar instructions (e.g. stfs/lfs) as expected: image

However, it misses instances that are for a completely different instruction (e.g. addi doesn't highlight lfs and lfs doesn't highlight addi): image image

Example function: dLib_checkActorInCircle Versions tested on: 0.5.2, 0.6.0

encounter commented 7 months ago

Thanks for the report! I fixed this by comparing signed immediates and register offsets and considering them equivalent. If there are other instances where the highlight doesn't pick up things that it semantically should, please let me know.