Luke Street
9e57a66a05
Auto-detect MIPS ABI/category & add config
...
Under Diff Options -> Arch Settings, one
can override the ABI/instruction category
2024-05-21 18:06:14 -06:00
Luke Street
e254af5acf
Support bss and text section diffing
...
Display section diff % in symbols view
2024-05-21 12:02:00 -06:00
Robin Avery
320efcb8cb
objdiff-cli report: Support data sections ( #49 )
...
* objdiff-cli report: Support data sections
* Minor fixes for section match %
---------
Co-authored-by: Luke Street <luke.street@encounterpc.com>
2024-05-21 12:01:10 -06:00
Luke Street
7148b51fe0
x86: Handle IMAGE_REL_I386_REL32 LabelAddress
...
Resolves #57
2024-05-21 10:16:45 -06:00
Luke Street
dc0c170db9
Add .obj to object select filter
...
Resolves #54
2024-05-21 10:12:40 -06:00
Aetias
31e9c14681
Allow `None` section when parsing line info
...
Fixes an error upon ending the last DWARF sequence
2024-05-21 10:10:16 -06:00
Luke Street
94f1f07b00
Bump to 2.0.0-alpha.1 & fix version checks
2024-05-21 09:55:45 -06:00
Aetias
f5b5a612fc
Display correct line numbers for multiple .text sections ( #63 )
...
* Support multiple DWARF sequences
* Rework DWARF line info parsing
- Properly handles multiple sections
in DWARF 1
- line_info moved into ObjSection
- DWARF 2 parser no longer errors with
no .text section
- Both parsers properly skip empty
sections
* Simplify line_info (no Option)
---------
Co-authored-by: Luke Street <luke.street@encounterpc.com>
2024-05-21 09:55:39 -06:00
Luke Street
22a24f37f5
Diff data symbols & improve symbol match logic
2024-05-20 23:53:37 -06:00
Aetias
854dc9e4f5
Use base arch when processing base code ( #62 )
2024-05-20 17:38:58 -06:00
Luke Street
5bfaaaaf65
Instruction hover / context menu improvements
2024-05-20 17:38:20 -06:00
cadmic
8b36fa4fc6
Fix size of .note.split section ( #61 )
...
* Fix size of .note.split section
* clippy fix
---------
Co-authored-by: Luke Street <luke@street.dev>
2024-05-16 18:29:24 -06:00
Luke Street
660e6c879e
Update README.md
2024-05-15 19:01:55 -06:00
Aetias
db726a68a6
Strip distro root prefix ( #58 )
2024-05-15 18:56:08 -06:00
Aetias
b457453639
Add custom make args ( #59 )
2024-05-15 18:53:14 -06:00
Luke Street
3e5008524e
cargo fmt & cargo deny fix
2024-04-30 20:45:45 -06:00
Luke Street
2c46286aff
Update all dependencies & use ppc750cl InsIter
2024-04-30 20:06:04 -06:00
Luke Street
106652ae7d
Fix PPC branch display; update README.md
2024-03-22 23:06:41 -06:00
Luke Street
30d14870ef
Update ppc750cl, add Itanium demangler & cleanup
2024-03-21 21:36:50 -06:00
Luke Street
e7991cb28d
cargo fmt
2024-03-18 22:56:57 -06:00
Luke Street
4dfc28fc68
Diff cleanup & fixes
2024-03-18 22:56:13 -06:00
Luke Street
3c74b89f15
Restructure diffing code & initial 3-way diffing (WIP)
2024-03-18 18:10:18 -06:00
Luke Street
1343f4fd2b
cargo fmt
2024-03-17 12:20:25 -06:00
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
Luke Street
0a85c498c5
Version 1.0.0
2024-01-22 00:32:54 -07:00
Luke Street
c2fcf2797b
Export function to decomp.me scratch (beta)
2024-01-22 00:31:43 -07:00