Skip to content

SDK v0.2.1

Choose a tag to compare

@mysterymath mysterymath released this 19 Mar 19:23
· 658 commits to main since this release

New features

Custom output formats in linker scripts

A new OUTPUT_FORMAT { } syntax was added to the linker script, and the SDK now takes advantage of it. This allows specifying directly what the bytes of the output file should contain: various header bytes, and portions of the linker's LMA (loaded memory address) space, either zero padded or trimmed to fit. This considerably simplifies defining custom file formats (XEX, iNES, PRG, etc.) over the LMA hacking previously done in the SDK. This mode also causes the corresponding ELF file to be generated with the .elf file extension.
https://llvm-mos.org/wiki/Linker_Script

mos-common target

mos-common was made into a real, but incomplete, target, with it's own library and object files. This makes it easier to port LLVM-MOS to new targets, as it's no longer necessary to hook into the SDK's CMake build system to do so; the common target can be used with crt0.s and C files stashed in a user directory. There's still work to be done to clean up and document the porting process using the common target; this should occur over the next few weeks after this release.

Bug fixes

  • When building the SDK on Mac OS, LLVM-MOS's llvm-ar and llvm-ranlib are now used instead of the system ones.