989293a477
Add Yay0/Yaz0 compression & decompression
...
Uses orthrus-ncompress
Fixes #6
2024-04-30 18:03:00 -06:00
7fd039722d
Format & use syntect regex-fancy
...
The onig crate no longer builds
in CI with cargo-zigbuild.
2024-03-13 18:30:15 -06:00
d727110262
Update all dependencies & support new demangle flag
...
- Support `--mw-extensions` flag for demangle
- Fix relocation handling for object crate upgrade
2024-03-13 18:23:09 -06:00
b829e15438
Rework .splitmeta, now .note.split
...
Uses actual ELF .note format, which is
more standard and handled better by mwld.
2024-03-04 18:12:20 -07:00
4f8a9e6fab
Write .splitmeta section in split objects
...
This enables showing the original address of
symbols in objdiff, as well as `elf disasm`
on split objects retaining the original
addresses.
2024-02-28 22:27:38 -07:00
7b7c8ce251
Add noexport
attr to symbols.txt
...
Rename `auto_force_active` to `export_all`.
This is a better solution to code_merging, as
individual functions can be marked `noexport`.
2024-01-14 13:58:18 -07:00
968f50ebed
Add auto_force_active
option (disable to support -code_merging
)
...
Fixes #13
2024-01-13 21:54:10 -07: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
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
36bb5ddcc6
Zero out section data for relocations in relocatable ELFs
...
Fixes issues with Wii versions of mwld.
2023-10-01 12:50:21 -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
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
5272f90991
Read symbol alignment from .comment
2023-08-10 00:03:44 -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
2023-08-08 23:34:00 -04:00
46801939a3
Fix up .comment section writing & support symbol force_active
2023-08-08 01:53:47 -04:00
e215b6d843
Fix write_elf for common symbols & only write filename in file symbol
2023-08-07 20:04:40 -04:00
4ee63abea4
Mark autogenerated splits & rework ObjInfo::add_split
2023-08-03 19:18:20 -04:00
8f461b8e0a
Add & use ObjSymbolFlagSet helper functions
2023-08-03 19:00:10 -04:00
0fa0aafaea
6 months of occasional work I guess
2023-07-21 17:59:07 -04:00
f1b4afa885
Add dwarf dump
cmd
2023-02-14 21:50:23 -05:00
830f7b172f
Reorganize files; start RSO support; config & split updates
2023-01-27 23:15:52 -05:00
827e0806be
gerge branch 'main' into experimental
2023-01-19 12:54:52 -05:00
d864b0e395
Very experimental analyzer, DOL & REL support, function signatures
2023-01-18 12:52:38 -08:00
947874adfd
Version 0.2.3
...
- Fix `ar create` on Windows
- Clippy fixes
2023-01-05 08:51:44 -05:00
d76c554d31
Support duplicate filenames in ELF loader
2022-12-27 18:22:27 -05:00
9f4cc2f542
Add elf split
; rework asm generation
...
`elf split` allows splitting an ELF
directly into relocatable object files
2022-12-24 03:10:12 -05:00
828766b22b
Version 0.2.2
...
- Add `ar create` command for static libraries
- Update `elf fixup` to add an "(asm)" suffix
to object file symbols, for use with progress
tracking.
2022-12-14 20:39:59 -05:00
141339fcb0
Version 0.2.0
...
- Add `elf disasm` (disassemble an ELF)
- Add `elf fixup` (for GNU assembler)
- Add `map order` (link order deduction)
- Add `map slices` (ppcdis slices.yml, WIP)
- Add `map symbols` (ppcdis symbols.yml, WIP)
- Big speed improvement for map processing
- Minor `elf2dol` cleanup
2022-12-10 01:51:42 -05:00