Aetias
b991960080
ARMv5TE (DS) support ( #68 )
...
* Initial ARM support
* Disassemble const pool reloc
* Disasm ARM/Thumb/data based on mapping symbols
* Fallback to mapping symbol `$a`
* Support multiple DWARF sequences
* Update line info
* 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)
* Get line info from section; output formatted ins string
* Unwrap code section in `arm.rs`
* Handle reloc `R_ARM_SBREL32`
* Update ARM disassembler
* Update README.md
* Format
* Revert "Update README.md"
This reverts commit 8bbfcc6f45
.
* Update README.md
---------
Co-authored-by: Luke Street <luke.street@encounterpc.com>
2024-06-03 19:08:49 -06:00
Luke Street
425dc8546b
More descriptive message for build failure
...
Resolves #64
2024-06-03 19:06:19 -06:00
Luke Street
9e04357d9f
Use solid scrollbar in egui
...
Resolves #69
2024-06-03 19:03:33 -06:00
Luke Street
6037c12ad0
Disable lto to workaround crash
...
See #66
2024-06-03 18:58:25 -06:00
Luke Street
b15f643713
Bump version to 2.0.0-alpha.3
2024-06-03 18:54:46 -06:00
Luke Street
3f82c1a50f
objdiff-core API adjustments
...
- Allows using process_code without
constructing an ObjInfo
- Allows creating an arch without
having to provide an object
Used in decomp-toolkit
2024-06-03 18:52:32 -06:00
Luke Street
0ea6242669
Bump rabbitizer version (fixes crash)
2024-06-03 18:50:22 -06:00
Luke Street
0c20a0d9cd
Update README.md
2024-05-21 18:12:58 -06:00
Luke Street
f30b3cfae2
Default "Space between args" -> true
2024-05-21 18:09:46 -06:00
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