Luke Street
0c48d711c7
Improve local branch relocation handling
...
Reworks the local-branch handling logic to be more
unified: scan_instructions does all the work up front,
and process_instruction / display_instruction can
simply use the calculated branch destination instead
of performing their own is-relocation-target-
function-local checks.
(Hopefully) Fixes #192
2025-05-07 22:53:10 -06:00
Luke Street
34220a8e26
Add address to ReportItem, stabilize sections/functions ordering
2025-05-07 17:36:49 -06:00
Luke Street
0c9e5526d4
Combine sections when generating report
2025-05-07 16:47:20 -06:00
Luke Street
3db0727469
Omit match % for right sections, improve multi-section diffing
...
Fixes #120
2025-05-07 16:47:20 -06:00
Luke Street
8b5bf21f38
Mark combined sections as SectionKind::Unknown
2025-05-07 16:45:00 -06:00
Luke Street
b77df77000
Minor cleanup, remove Section::symbol_data
2025-05-07 16:43:34 -06:00
Luke Street
7e08f9715b
Update dependencies
2025-05-07 16:42:02 -06:00
Luke Street
3c05852d00
Document SuperH support
2025-05-06 23:25:29 -06:00
Luke Street
a51ff44be1
Fix superh wasm (no_std) build
2025-05-06 23:21:07 -06:00
Luke Street
d225cac205
Add superh feature to wasm build
2025-05-06 23:14:38 -06:00
Luke Street
737b3782db
ci: Add id-token write permission
2025-05-06 22:51:11 -06:00
Luke Street
a1499f475d
Update test snapshot
2025-05-06 22:07:21 -06:00
Luke Street
39b1b49985
cli: Add --config arg to report generate
2025-04-22 18:13:12 -06:00
Luke Street
6c7160ab7e
Use rabbitizer 2.0.0-alpha.1
2025-04-22 18:13:12 -06:00
Luke Street
73a89d2768
Version v3.0.0-beta.6
2025-04-02 11:03:40 -06:00
Luke Street
a162c2f840
Fix to_string_in_format_args warning
2025-04-01 23:36:47 -06:00
Luke Street
a474b27d55
Update dependencies
2025-04-01 23:33:17 -06:00
Luke Street
3d7f2b70dc
Replace some git dependencies with cargo registry
2025-04-01 22:56:16 -06:00
Luke Street
fe886f862d
ci: Auto cargo publish / npm publish
2025-04-01 21:49:01 -06:00
Luke Street
2bcbc34850
wasm: Improve API error handling
2025-04-01 21:45:13 -06:00
Luke Street
7b00a9e9f2
wasm: Cache objects via data hash (XXH3)
2025-03-21 08:27:19 -06:00
Luke Street
311de887ec
Update test snapshot
2025-03-19 19:00:57 -06:00
Luke Street
485b259c32
Apply clippy suggestion
2025-03-19 19:00:01 -06:00
Luke Street
d8fdfaa2c0
Fix no_std build
2025-03-19 18:57:41 -06:00
Luke Street
2612cda1fb
objdiff-cli report: Skip unknown sections
...
Regression in v3.0.0-alpha.1
Fixes #171
2025-03-19 18:54:34 -06:00
Luke Street
bc46e17824
x86_64: Fix relocation placement in instruction
2025-03-19 18:54:34 -06:00
Luke Street
e735adbd3d
x86: Support inline data for jumptables
2025-03-19 18:54:34 -06:00
Luke Street
6768df9d80
Version v3.0.0-beta.4
2025-03-18 21:36:37 -06:00
Luke Street
eaba2391e0
arm: Fix thumb & data decoding, add tests
2025-03-18 21:26:28 -06:00
Luke Street
bd8f5ede23
Add pre-commit hooks
2025-03-18 21:26:28 -06:00
Luke Street
acf46c6b54
Fix no_std build
2025-03-14 09:49:31 -06:00
Luke Street
9358d8ec60
mips: Add C++ symbol demangling (CW & modern GCC)
2025-03-14 09:44:15 -06:00
Luke Street
809e2ffddc
cargo fmt
2025-03-11 21:43:32 -06:00
Luke Street
87fa29e8b0
objdiff-wasm: Fix symbol filtering
...
regex crate needed the `unicode-case` feature
2025-03-11 21:42:14 -06:00
Luke Street
42d4c38079
mips: Ignore .NON_MATCHING functions from INLINE_ASM macros
2025-03-11 21:39:17 -06:00
Luke Street
fa26200ed7
Silence warning
2025-03-10 22:22:05 -06:00
Luke Street
a0e7f9bc37
Fix x86 mov relocations with uint32
2025-03-10 22:09:58 -06:00
Luke Street
5898d7aebf
Fix section ordering with many same-named sections
...
Before, this was comparing, for example, `.text-2`
with `.text-10` with standard string comparison,
yielding `.text-10` before `.text-2`.
Instead, this simply uses a stable sort by name,
which preserves the relative ordering of sections.
2025-03-10 21:51:54 -06:00
Luke Street
ffb38d1bb0
Fix cargo deny advisories
2025-03-09 22:59:42 -06:00
Luke Street
d56dda72f0
Version v3.0.0-beta.2
2025-03-09 22:56:28 -06:00
Luke Street
c6971f3f2d
Add initial support for x86-64 relocations
2025-03-09 22:51:43 -06:00
Luke Street
3965a035fa
objdiff-cli diff: Show build errors/log
2025-03-09 22:51:43 -06:00
Luke Street
f1fc29f77e
Split report changes into separate proto
2025-03-08 14:39:15 -07:00
Luke Street
7c4f1c5d13
Fix left/right arch mismatches in diff code
2025-03-08 10:44:44 -07:00
Luke Street
fa4a6cadbb
Downgrade objdiff-wasm Rust edition temporarily
2025-03-04 23:27:17 -07:00
Luke Street
799971d54e
Migrate to Rust edition 2024
2025-03-04 22:31:38 -07:00
Luke Street
8eef37e8df
Version v3.0.0-beta.1
2025-03-04 22:24:55 -07:00
Luke Street
5f36916087
Fix unintended unwrap in load_font_if_needed
2025-03-04 22:24:20 -07:00
Luke Street
ee667a2dde
Update config-schema.json: PPC -> PowerPC
2025-03-04 22:23:45 -07:00
Luke Street
1cdfa1e857
Update rabbitizer & utilize use_dollar option
2025-03-04 09:38:59 -07:00
Luke Street
3f157f33a5
Reorder tooltip/context items slightly
2025-03-04 09:10:54 -07:00
Luke Street
9c31c82a37
cargo fmt
2025-03-03 21:08:36 -07:00
Luke Street
4f34dfa194
Don't infer sizes for labels within another symbol
2025-03-03 21:01:22 -07:00
Luke Street
ae6d37a10b
Version v3.0.0-alpha.2
2025-03-03 18:25:38 -07:00
Luke Street
06e54f3456
cargo fmt
2025-03-03 17:16:35 -07:00
Luke Street
6ed07bfaf1
MIPS relocation pairing, '$' prefix option & fixes
...
Implements MIPS relocation pairing logic.
New option for "Register '$' prefix", off by default.
Fixes various regressions introduced by refactoring.
Resolves #122
Resolves #156
2025-03-03 17:14:32 -07:00
Luke Street
80e939653a
Build objdiff-gui against older glibc
...
Resolves #165
2025-03-03 13:34:05 -07:00
Luke Street
48305e0380
Add hover/context APIs to wasm component
2025-03-02 21:51:47 -07:00
Luke Street
2eafbb218b
Update all dependencies
2025-03-02 16:13:12 -07:00
Luke Street
a1f2a535e5
Unify context menu / hover tooltip code + UI improvements
2025-03-02 16:13:12 -07:00
Luke Street
8461b35cd7
Fix WASM CI build
2025-03-02 16:13:12 -07:00
Luke Street
95868f1d19
Reimplement x86 arch, MSVC section group combining
...
Plus display_row/DiffText refactoring
2025-03-02 16:13:12 -07:00
Luke Street
506c251d68
Various fixes
2025-02-26 22:47:42 -07:00
Luke Street
f3c157ff06
WIP objdiff 3.0 refactor
2025-02-26 22:09:39 -07:00
Luke Street
bbd8d9714f
Adjust CI build features
2025-02-09 22:28:04 -07:00
Luke Street
3c66ac3d54
Fix run_make on Windows
2025-02-09 22:28:04 -07:00
Luke Street
561a9107e2
clippy & deny fixes
2025-02-09 22:28:04 -07:00
Luke Street
e8de35b78e
Make objdiff-core no_std + huge WASM rework
2025-02-09 22:28:02 -07:00
Luke Street
d938988d43
Diff view refactor
2025-02-09 22:27:42 -07:00
Luke Street
e202c3ef95
Version v2.7.1
2025-01-21 22:59:20 -07:00
Luke Street
11171763eb
Use cargo-deny-action@v2
2025-01-18 16:16:12 -07:00
Luke Street
6037a79ba2
Update all dependencies
2025-01-18 15:58:38 -07:00
Luke Street
f7efe5fdff
cargo update
2025-01-04 21:29:29 -07:00
Luke Street
0692deac59
Use ObjInsArgValue::loose_eq in arg_eq
2025-01-04 21:02:54 -07:00
Luke Street
c3e3d175c5
Create schema for diff config properties
2025-01-04 21:02:54 -07:00
Luke Street
c45f4bbc99
Diff schema updates & WASM updates
2025-01-04 21:02:54 -07:00
Luke Street
b0c5431ac5
Add version to notify deps
2025-01-04 21:02:54 -07:00
Luke Street
c65e87c382
Version 2.5.0
2024-12-08 21:48:21 -07:00
Luke Street
1756b9f6c5
Repaint after view action
2024-12-08 21:42:33 -07:00
Luke Street
303f2938a2
Update dependencies
2024-12-08 21:40:13 -07:00
Luke Street
526e031251
Experimental objdiff-cli diff auto-rebuild
2024-12-08 21:40:13 -07:00
Luke Street
7aa878b48e
Update all dependencies & clippy fixes
2024-12-01 22:22:35 -07:00
Luke Street
a119d9a6dd
Add scratch preset_id field for decomp.me
...
Resolves #133
2024-11-07 09:27:13 -07:00
Luke Street
424434edd6
Experimental ARM64 support
...
Based on yaxpeax-arm, but with a heavy dose of
custom code to work around its limitations.
Please report any issues or unhandled relocations.
2024-10-31 17:39:12 -06:00
Luke Street
7f14b684bf
Ignore PlainText segments when diffing
2024-10-31 17:27:27 -06:00
Luke Street
c5da7f7dd5
Show diff color when symbols differ
2024-10-31 17:26:59 -06:00
Luke Street
2fd655850a
Ignore Absolute relocations and log warning
2024-10-31 17:24:49 -06:00
Luke Street
79bd7317c1
Match BranchDest->Reloc with relaxed relocation diffs
2024-10-31 17:24:33 -06:00
Luke Street
21f8f2407c
Relax symbol comparison logic
...
The Ghidra delinker plugin emits functions with type STT_OBJECT,
rather than STT_FUNC. The current logic was preventing these from
being compared based on their symbol type. Relax this condition
for now.
2024-10-29 22:46:02 -06:00
Luke Street
d2b7a9ef25
Fix missing common BSS symbols
...
Resolves #128
2024-10-28 17:54:49 -06:00
Luke Street
2cf9cf24d6
Version v2.3.3
2024-10-20 20:01:35 -07:00
Luke Street
9ca157d717
Lighten default blue diff color
...
The old default was very dark and blended in with
the dark theme's background.
2024-10-18 17:51:29 -06:00
Luke Street
72ea1c8911
ci: Use rust-lld on Windows
2024-10-12 18:57:49 -06:00
Luke Street
d4a540857d
ci: Add Rust workspace cache
2024-10-12 18:41:42 -06:00
Luke Street
676488433f
Fix resolving symbols for section-relative relocations
...
Also fixes MIPS `j` handling when jumping within the function.
Reworks `ObjReloc` struct to be a little more sensible.
2024-10-11 18:09:18 -06:00
Luke Street
83de98b5ee
Version v2.3.1
2024-10-10 22:58:33 -06:00
Luke Street
c1ba4e91d1
ci: Setup python venv for cargo-zigbuild
2024-10-10 22:39:31 -06:00
Luke Street
575900024d
Avoid resetting diff state on unit config reload
2024-10-10 22:31:04 -06:00
Luke Street
cbe299e859
Fix logic issue with 0-sized symbols
...
Fixes #119
2024-10-10 22:20:48 -06:00
Luke Street
603dbd6882
Round match percent down before display
...
Ensures that 100% isn't displayed until it's a
perfect match.
2024-10-07 20:17:56 -06:00