Luke Street
9df98f263e
Move all architecture-specific code into modules
...
No more scattered relocation handling and
feature checks. Everything will go through
the ObjArch trait, which makes it easier
to add new architectures going forward.
2024-03-17 12:16:47 -06:00
Luke Street
bbe49eb8b4
Initial x86 support
...
Includes a bit of work to make adding new
architectures easier in the future
2024-03-16 23:30:27 -06:00
Luke Street
aecb078b2a
ci: Update sccache-action version
2024-03-13 18:34:28 -06:00
Luke Street
a5668b484b
Update all dependencies
2024-03-13 18:20:46 -06:00
Luke Street
ef41e393d4
Resolve dependency advisories
2024-03-04 18:19:08 -07:00
Luke Street
20e42a499a
Rework .splitmeta, now .note.split
...
Uses actual ELF .note format, which is
more standard and handled better by mwld.
2024-03-04 18:06:21 -07:00
Luke Street
c39795ae2c
Use actual decomp.me host
2024-03-04 18:03:32 -07:00
Luke Street
49ee9b44aa
Remove "Algorithm" menu item
2024-03-04 18:03:20 -07:00
Robin Avery
341c1d4b33
Fix release CI (and add sccache) ( #52 )
...
* Fix release CI (and add `sccache`)
* Rename `objdiff-gui` binary to `objdiff`
2024-03-02 22:42:24 -07:00
Robin Avery
9f4a1e86cd
objdiff-cli diff: Reduce duplicate key event code ( #51 )
2024-03-02 18:47:54 -07:00
Robin Avery
ed5d092b11
objdiff-cli diff: Support "Relax relocation diffs" ( #50 )
...
Bound to the `-x` flag or the `x` key.
2024-03-02 18:47:18 -07:00
Robin Avery
023dd7a55b
objdiff-cli diff: Accept any kind of unit path ( #48 )
...
* objdiff-cli diff: Accept any kind of unit path
* Appease clippy
* Call `resolve_paths` in slightly fewer cases
2024-03-01 18:18:27 -07:00
Luke Street
3b1249e1ab
objdiff-cli diff: Add horizontal scrolling
2024-03-01 01:30:47 -07:00
Luke Street
cb13638e07
objdiff-cli: Migrate to ratatui for rendering
2024-03-01 01:03:17 -07:00
Robin Avery
37ddbb7f4a
cli: Log to stderr instead of stdout ( #46 )
...
Fixes pipe issues.
2024-02-29 22:27:10 -07:00
Robin Avery
b80d361e91
cli report: Generate virtual addresses as uppercase ( #45 )
...
Matches dtk symbols.txt and most projects' identifiers.
2024-02-29 22:22:59 -07:00
Robin Avery
fd27f4d0cd
cli diff: Resolve object and project if not specified ( #44 )
...
* cli diff: Resolve object and project if not specified
* Make `symbol` positional
* Short circuit ambiguous matches
* Tighten argument matching
* Speed up function lookup
2024-02-29 22:22:41 -07:00
Robin Avery
5cfd04fd4f
Add #[serde(default)] to ReportFunction::address ( #43 )
2024-02-29 11:21:30 -07:00
Luke Street
5b9ac93c08
ci: Build both objdiff-cli and objdiff-gui
2024-02-28 21:52:35 -07:00
Luke Street
39a13f4d36
objdiff-cli diff & report changes, support .splitmeta object section
...
- Add `objdiff-cli report changes` for diffing two reports
- Unify some click-to-highlight logic between CLI and GUI
- Load .splitmeta section for extra object metadata (original virtual addr, etc)
- More work on objdiff-cli diff
2024-02-28 21:44:53 -07:00
Ryan Burns
28348606bf
Handle ^F, ^B, ^U and ^D readline shortcuts in pager ( #42 )
2024-02-28 19:33:15 -07:00
Luke Street
fb24063c54
objdiff-cli diff: Click-to-highlight & build fixes
2024-02-27 22:52:18 -07:00
Luke Street
cff6a230a3
Remove alternate diff algorithms, only keep Patience
2024-02-27 21:18:42 -07:00
Luke Street
9a7d2bcebf
Experimental objdiff-cli (WIP)
2024-02-27 18:47:51 -07:00
Luke Street
4eba5f71b0
Split into objdiff-core / objdiff-gui; update egui to 0.26.2
2024-02-26 18:48:48 -07:00