Releases: encounter/decomp-toolkit
v0.7.5
What's Changed
- Check if git tag matches Cargo version when releasing by @ribbanya in #44
- Allow overriding jump table size analysis (96b13be)
- When the analyzer detects a jump table, it will now check for an existing object symbol at that address, using that size if present.
- Write
.note.split
section in split objects (4f8a9e6, b829e15)- This enables showing the original address of symbols in objdiff, as well as
elf disasm
on split objects retaining the original addresses.
- This enables showing the original address of symbols in objdiff, as well as
Full Changelog: v0.7.4...v0.7.5
v0.7.4
What's Changed
- Handle more CompileUnit attributes in DWARF by @1superchip in #38
- Rename and output GCC extensions by @1superchip in #40
- Emit an error code when
dol diff
does not match by @ribbanya in #43
New Contributors
- @1superchip made their first contribution in #38
- @ribbanya made their first contribution in #43
Full Changelog: v0.7.3...v0.7.4
v0.7.3
Adds ar extract
: Extracts the contents of static library (.a) files.
Accepts multiple files, glob patterns (e.g. *.a
) and response files (e.g. @rspfile
).
# Extracts to outdir
$ dtk ar extract lib.a -o outdir
# With multiple inputs, extracts to separate directories
# Extracts to outdir/lib1, outdir/lib2
$ dtk ar extract lib1.a lib2.a -o outdir
Full Changelog: v0.7.2...v0.7.3
v0.7.2
- Added: Add
noexport
attr to symbols.txt - Changed: Rename
auto_force_active
toexport_all
.
This is a better solution for -code_merging
, as individual functions can be marked noexport
, rather than disabling export_all
globally.
Full Changelog: v0.7.1...v0.7.2
v0.7.1
- Added: Add support for MwOverlayBranch by @DaZombieKiller in #24
- Added: Support anonymous type names as seen in PS2 DWARF by @DaZombieKiller in #25
- Added: Infer anonymous unions from type layout by @DaZombieKiller in #26
- Added:
auto_force_active
option (disable to support linker-code_merging
, #13)
Full Changelog: v0.7.0...v0.7.1
v0.7.0
- Added: Support some more MetroWerkz DWARF extensions by @DaZombieKiller in #22
- Added: Analyzer improvements for ProDG games (WIP, #19)
- Added: dwarf dump: Emit address range for compile units and functions (458d059)
- Fixed: Disassembling
addi
with relocation assubi
(3bcfaef) - Fixed: Allow linker-generated symbol references from data sections (#15)
- Fixed: Allow matching multiple symbols during signature analysis (#20)
- Fixed: Avoid duplicate unit names when auto-splitting (#20)
- Fixed: Analyzer fix for fallthrough switch cases (#23)
Full Changelog: v0.6.5...v0.7.0
v0.6.5
- Added: Support for Little Endian DWARF, Inline Arrays & Additional MetroWerks Extensions by @Sewer56 in #14
- Fixed: Sanitize auto-split filenames (#16)
- Fixed: Permit object filenames with dots (#17)
- Fixed: Warn on unknown
.comment
section values instead of bailing (#18)
Full Changelog: v0.6.4...v0.6.5
v0.6.4
- Added: Overhauled common BSS support
- With a map, attempts to detect and handle common BSS automatically
- With a map, attempts to detect and correct inflated common BSS bug (< GC 2.7 linker)
- Support for "stripped" symbols, sometimes required to match inflated common BSS sizes
- Added: Warn on duplicated TUs in a map (other than common BSS)
- Added: Automatically adds
comment:0
to.s
units from a map (avoids linker crash) - Added: dwarf dump: Better support for GCC/ProDG & various fixes
- Displays subroutine "static" and "inline" if present
- Displays subroutine labels, blocks and inlines if present
- Displays struct member visibility if present
- Skips tags that can't be processed rather than bailing
Full Changelog: v0.6.3...v0.6.4
v0.6.3
- Fixed: Honor symbol alignment when extracting a symbol to a C header
Full Changelog: v0.6.2...v0.6.3
v0.6.2
- Added: Extract embedded assets to binary and C header (#11)
Adds an "extract" list to project configuration:
extract:
- symbol: SomeData
binary: Lib/SomeData.bin
header: Lib/SomeData.inc
This example extracts the data of symbol SomeData
to out_dir/bin/Lib/SomeData.bin
,
and a C array representation to out_dir/include/Lib/SomeData.inc
.
Full Changelog: v0.6.1...v0.6.2