Skip to content

v0.11.0

Latest

Choose a tag to compare

@github-actions github-actions released this 03 Apr 10:52

Migrating from pre-v0.11.0

  • In dtcm/delinks.txt, rename .dtcm to .bss
    • This effectively undoes the migration from v0.10.0. The reason for this is that the section borrowing system has been updated to support more sections and modules, see additions below.
  • Run dsd fix ctor-zero to truncate .ctor sections so the final 0-value is excluded.
    • It's recommended to first run with the --dry option to test that the migration command works.

New additions

#42: Progress categories
You can add categories: gfx, core to delinks.txt to add objdiff progress categories for an entire module (top of the file) or for individual delink files.

#44: dsd format subcommand
Formats all symbols.txt, delinks.txt and relocs.txt to sort items by address value.
// Comments are now also preserved by any command that updates these files, including dsd format.

#49: Add link-time constants __DTCM_LO, __ITCM_HI, __CODE_HI and __OVERLAY_COUNT to LCF linker script
These are present in low-level code and had to be hardcoded for each game until now.

#50: dsd sig apply: Apply signature directly from YAML file
Function signatures had to be registered into dsd's source code before they could be applied. Now dsd sig apply will also accept a path to a .yaml or .yml file.

#51: Borrow more sections from other modules: .itcm, .autodata_{}, .autobss_{}
Previously we only had .dtcm which allows a delink file to contain a chunk of .bss from the DTCM module.
Now there is also:

  • .itcm which borrows from .text in the ITCM module
  • .autodata_{index} which borrows from .data in custom autoload block {index}
  • .autobss_{index} which borrows from .bss in custom autoload block {index}

Important

This change requires migration, see the migration guide at the top of this release.

#52: Link-time constants in relocs.txt
Added a new relocation kind kind:link_time_const(__DTCM_LO) which works with any link-time constant mentioned above.

#53 and #55: Exclude final 0-value from .ctor in delinks.txt
.ctor is a null-terminated list, so it makes more sense for the linker to append the null pointer rather than requiring users to include it themselves.

Important

This change requires migration, see the migration guide at the top of this release.

#54: dsd sig new-elf subcommand
Generates a function signature from an ELF binary and function name, and it does not require a dsd project or config.yaml.

Bug fixes

#46: Give delink gaps a more distinct name
Fixes a silent duplicate file name issue when linking.

What's Changed

New Contributors

Full Changelog: v0.10.2...v0.11.0