8659b56da4
Skip writing objects and ldscripts if unchanged
...
Avoids unnecessary rebuilds with build systems like ninja & make that track mtime
2023-11-18 17:21:08 -05:00
363fa2ac72
Use custom syntect packs to reduce binary size
...
- Custom syntax set containing only C/C++
- Custom themeset containing only Solarized (Dark)
- Disable default syntect features
2023-11-18 16:12:03 -05:00
d7a3fd53c7
Fix CI artifact upload
2023-11-18 15:07:44 -05:00
8f559c8921
Update dependencies & CI changes
...
- Use separate release-lto profile for CI
- A couple of clippy fixes
2023-11-18 15:03:24 -05:00
5e13998e93
Major dwarf dump
rework
...
- Supports games with C++ DWARF info
- Syntax highlighting when printing to console (disable with `--no-color`)
- Overall improvements to parsing and output
2023-11-18 13:56:58 -05:00
4935708b61
Fix REL v2 creation (and v1, hopefully)
...
- Adjusts `write_rel` to use the proper ordering for relocations and imports based on the REL version.
- Adds `-r`/`--relocations` switch to `rel info` that prints (very) verbose relocation information.
v0.5.8
2023-11-09 01:16:37 -05:00
456f4eebd4
Update deny.toml
2023-11-07 23:25:24 -05:00
65b04024d5
Update README.md
...
The previous commit also fixed the `map` commands, because why bother splitting anything out?
2023-11-07 23:24:03 -05:00
ec4caf5000
Smarter configuration updates
...
- Avoid overwriting `symbols.txt` or `splits.txt` if the file was modified since it was read or if the file's contents didn't change.
- Remove `binrw` and `byteorder` dependencies, moving to `FromReader`/`ToWriter` traits.
- Migrate generic bounds to `where` clauses.
- Remove unused `build.rs` logic.
2023-11-07 23:21:59 -05:00
c452b74666
Version 0.5.7
v0.5.7
2023-10-10 12:33:27 -04:00
41a69441da
Support section 241 (extabindex) in RSOs
2023-10-10 12:32:56 -04:00
95c779b105
Better terminal color support
...
- Enables ANSI on Windows 10
- Disables colors if unsupported
- Supports `--no-color` and env `NO_COLOR` to disable
- Supports env `FORCE_COLOR` and `CLICOLOR_FORCE` to enable
2023-10-10 12:32:05 -04:00
a164852a15
Write gap symbols as hidden
v0.5.6
2023-10-07 14:50:01 -04:00
dfb569b883
Add alf support (NVIDIA Shield TV binaries)
...
- Supports .alf files in all places .dol files are accepted.
- Adds `hash` and `dhash` to symbols config.
2023-10-07 02:03:09 -04:00
db506fb927
Update dependencies & macros.inc for ppc750cl
2023-10-06 01:20:04 -04:00
62c5e3acf9
Update README.md with dtk-template & more commands
2023-10-04 23:38:43 -04:00
36bb5ddcc6
Zero out section data for relocations in relocatable ELFs
...
Fixes issues with Wii versions of mwld.
v0.5.5
2023-10-01 12:50:21 -04:00
c354c6da4b
REL section alignment fixes
...
- Honor section alignment from splits.txt when writing RELs
- Better heuristic for determining REL section alignment on initial analysis
v0.5.4
2023-09-26 13:06:57 -04:00
610a2e56b9
Add ldscript_template
option to project config
v0.5.3
2023-09-23 07:56:49 -04:00
400fb7fa7f
Add code_size
, data_size
to generated config.json
...
Also simplify project config generation by skipping default fields
v0.5.2
2023-09-14 17:24:00 -04:00
59a4eb33d0
Write version
in generated config.json
v0.5.1
2023-09-13 17:07:06 -04:00
42217a339e
Update cargo deny.toml
v0.5.0
2023-09-13 02:10:47 -04:00
d4ef1ce16a
Analyzer fixes galore
...
- Transparent NLZSS decompression (add `:nlzss` to path)
- Overhaul portions of the analyzer to support more games
- Reject some invalid data relocations automatically
- Jump table analysis fixes
2023-09-13 02:08:51 -04:00
50f913c4eb
clippy fixes
v0.4.2
2023-09-10 02:20:54 -04:00
18170a96a2
Don't use map in dol diff
and dol apply
; remove common BSS hack
2023-09-10 02:20:08 -04:00
788ffb9e17
Fix empty .lcf FORCEACTIVE with symbols_known
v0.4.1
2023-09-09 19:24:13 -04:00
6abe6cc277
clippy fix
v0.4.0
2023-09-05 17:31:19 -04:00
21c80537ac
cargo-deny: Allow ISC license
2023-09-05 17:24:03 -04:00
e3857d3212
Improvements to REL & map support
...
- Fix symbols.txt align attribute
- Fully support nested RARC files & transparent Yaz0 decompression
- Guess symbol visibility for maps without link map
- Add module name config
- Add manual force_active config
- Quiet option for shasum
- `symbols_known` and `fill_gaps` config
- Allow disabling .comment generation per-unit (`comment:0`)
- Various minor fixes
- Add `rarc` and `yaz0` commands
2023-09-05 17:22:22 -04:00
f9f7fb2e1e
Working rel make
& more
...
- Added `elf info`
- Improved `rel info`
- Colored output for `shasum`
- Fix section `rename` in RELs
- Added padding symbols to avoid linker issues
- Automatically set symbols to "active" in .comment output
2023-08-23 23:13:12 -04:00
a2374e4fa0
Semi-working REL analysis & splitting
2023-08-23 23:13:12 -04:00
3f63f1ef47
A lot more section-address-aware refactoring
2023-08-23 23:13:12 -04:00
5843ee021e
Begin REL analysis & rework lots of code to be section-address aware
2023-08-17 22:09:45 -04:00
347889773d
Version 0.3.7
v0.3.7
2023-08-15 23:18:15 -04:00
933edcfb19
Clippy fixes
2023-08-15 22:47:35 -04:00
23a156a6d5
Add selfile option & load in dol split
2023-08-15 22:45:23 -04:00
908e3bb037
Check functions at start of code sections in detect_functions
2023-08-15 22:44:48 -04:00
a394dfc88c
Improved sanity checks in asm write_data
2023-08-15 22:44:06 -04:00
2c2ee8bf08
Validate splits don't overlap symbols (or each other)
...
Use DoubleEndedIterator::next_back instead of Iterator::last to avoid unnecessary iteration.
v0.3.6
2023-08-15 09:47:00 -04:00
d272b5dce8
Write common symbol align in asm
2023-08-15 09:36:45 -04:00
8200ee7649
Version 0.3.5
v0.3.5
2023-08-10 00:06:42 -04:00
522909907c
Add quick_analysis option & disable auto_force_files by default
2023-08-10 00:05:33 -04:00
33a026d0c7
Support module hash in config.yml
2023-08-10 00:04:35 -04:00
5272f90991
Read symbol alignment from .comment
2023-08-10 00:03:44 -04:00
265e26ee40
Guess section alignment & write __ArenaHi in .lcf
2023-08-10 00:03:14 -04:00
98ab89a1de
Don't relocate against linker symbols for certain relocations
2023-08-10 00:02:28 -04:00
cf328b8707
Only create relocations for direct branches
2023-08-09 23:59:26 -04:00
457ee10a42
Emit FORCEACTIVE in LCF & various fixes
v0.3.4
2023-08-09 01:24:23 -04:00
d9e1ae2777
MW 2.7 LD compatibility fixes & more
...
- More robust .comment section handling
- Auto-create .comment section for objects with common symbols (MW 2.7+ hack)
- Support loading REL modules in `dol split` (currently only for references)
- Add `dol diff` for quick diffing between linked ELF and expected symbols
- Add `dol apply` for applying linked ELF symbols to symbol config file
v0.3.3
2023-08-08 23:34:00 -04:00
5bdffa94c4
Generated TU name adjustments
2023-08-08 01:54:01 -04:00