SDK v0.2.1
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-arandllvm-ranlibare now used instead of the system ones.