Releases: llvm-mos/llvm-mos-sdk
SDK v22.7.0
New features
- llvm-mos/llvm-mos#543 - Add near-miss error reporting to assembly parser - @johnwbyrd
SDK v22.6.0
New features
#533 - Allow function style modifiers in assembly directives - @GorillaSapiens
Bug fixes
#535 - Fix legalizer validation issue in debug builds - @johnwbyrd
#536 - Correct depth arg type for return/frame address builtins - @johnwbyrd
#542 - Fix Tablegen issue for AsmPrinter - @johnwbyrd
SDK v22.5.0
New features
- llvm-mos/llvm-mos#516 - Add assembler support for
<,>, and^operators in more places - @GorillaSapiens - llvm-mos/llvm-mos#530 - Support more floating point libcalls (e.g.
tan) - @johnwbyrd
Bug fixes
- llvm-mos/llvm-mos#529 - Fix issue where MOS function info might got dropped when functions are cloned - @johnwbyrd
- llvm-mos/llvm-mos#526 - Correctly handle
R_MOS_NONEELF relocation - @johnwbyrd - llvm-mos/llvm-mos#525 - Don't pass
--gc-sectionsby default for relocatable links - @johnwbyrd - llvm-mos/llvm-mos#520 - Fix upstream crash for targets that lack
__memcpy_chklibcall (like MOS) - @johnwbyrd - llvm-mos/llvm-mos#528 - Fix compiler crash on jump tables of exactly 256 entries - @johnwbyrd
- @johnwbyrd - Various preparatory changes for LLDB
- #419 -
C128- Fix typo in MMU initialization - @swildner - #424 - Fix undefined behavior in mos-sim.c
SDK v22.4.0
New targets
- [fds] Initial support and wrappers for BIOS functions for the Famicom Disk System - @TheEssem
New features
- [neo6502] #408 - Add mouse API support - @patrick-flynn
- [rp6502] #413 - Support for RP6502 Version 0.14 - @rumbledethumps
- #417 - Improved mos-sim trace ergonomics - @lashtear
Bug fixes
- llvm-mos/llvm-mos#510 - Fix SPC700 BRA opcode bugs - @asiekierka
- llvm-mos/llvm-mos#508 - FIx critical heap-use-after-free in InstructionSelect analysis pointer management - @johnwbyrd
- llvm-mos/llvm-mos#514 - Fix crash when using
cas output constraint in inline assembly - @GorillaSapiens
SDK v22.3.2
Bug fixes
- llvm-mos/llvm-mos#507 - Fix undefined behaviors and incorrect type coercion - @johnwbyrd
- #407 - mos-platform/neo6502/api/controller.c: fix return type and set parameter for neo_controller_read() - @patrick-flynn
- Fix issue with usage of C inline in plasma.c example
- Clean up some SDK warnings and errors
SDK v22.3.1
Bug fixes
- llvm-mos/llvm-mos#493 - Relocatable linking does not require a linker file - @johnwbyrd
- llvm-mos/llvm-mos#498 - Emit soft stack CSRs normally, but use SP, not FP, when lowering
- #402 - Fix interruptable bank switch for NES-MMC3 - @jroweboy
- #406 - nes-unrom: Fix banked_call() - @wendelscardua
SDK v22.3.0
New features
llvm-objcopynow acceptself32-mosas a target. In particular, this enables the workflow of converting a raw binary file to a relocatable ELF object, with the contents of the raw binary file in a section. Thanks @davidgiven for reporting that this didn't work.
Bug fixes
- #340 - PCE: Fix #389 - regression in .mlb fixed bank symbols - @asiekierka
Merge from upstream LLVM
Upstream revision: llvm/llvm-project@c384ec4 (13 Jul 2025)
Previous upstream revision: llvm/llvm-project@4984714 (25 Jun 2025)
SDK v22.2.1
Bug fixes
- llvm-mos/llvm-mos#491 - Fix crash for certain adds of ternary
... ? 1 : -1.- This pattern was converted from a variable ADC to a INC and DEC by the MOSIncDecPhi pass, but the mechanism was always brittle, and it was difficult to repair it in the face of this issue. Accordingly, this pass has been removed. This may cause a slight regression in code size and performance, but it's expected to be in the noise compared to register allocation.
Merge from upstream LLVM
Upstream revision: llvm/llvm-project@4984714 (25 Jun 2025)
Previous upstream revision: llvm/llvm-project@b434bc4 (14 May 2025)
SDK v22.2.0
New features
- #395 - Add full
stdiosupport to therp6502target - @rumbledethumps
Bug fixes
- #388
cpm_bios_seldsk_inow returns NULL on error, rather than an undefined result - @eduardocasino mega65examples are now correctly built by default with the SDK
Merge from upstream LLVM
Upstream revision: llvm/llvm-project@b434bc4 (14 May 2025)
Previous upstream revision: llvm/llvm-project@c99ffe58af23 (17 Apr 2025)
SDK v22.1.0
New features
- #393 - nes/supervision: Add weak attribute to early and late init - @TheEssem
- This allows almost-completely replacing the initialization routines for these systems with custom user code.
Merge from upstream LLVM
Upstream revision: llvm/llvm-project@c99ffe58af23 (17 Apr 2025)
Previous upstream revision: llvm/llvm-project@2f7ade4b5e39 (13 Jan 2025)
New features
- LLD now has a
--why-live=<glob>tag to report why symbols matching the given glob weren't removed by linker garbage collection (GC).- This can be useful for debugging why linker GC didn't strip something out.