5.9. Changelog
5.9.1. Version 2026.10
New Features:
Added RISC-V big-endian support, the runtime library automatically matches the byte order of the target and no separate library variant needs to be selected. Using the big-endian C library requires the
riscv64be-unknown-elf-prefixed tools together with-mbig-endian, see Big-endian usage.Added zicfilp landing pad support, all runtime library routines are valid landing pad targets when built with CFI landing pad enabled, so indirect calls guarded by the
zicfilpextension can safely land in runtime library code, see zicfilp landing pad usage.Added the POSIX-compatible headers
malloc.h,unistd.h,fcntl.handstdalign.hto prevent include errors when building existing code withlibncrt.
Bug Fixes:
Fixed
strcmpreturning a wrong result in some cases when comparing longer strings, refer to issue #66 for details.
5.9.2. Version 2025.02
Bug Fixes:
Fixed the 64-bit integer multiplication
__muldi3returning a wrong result when built with GCC 14-Os.
5.9.3. Version 2024.06
New Features:
Improved the performance of
memset,memcpy,strlen,strcmp,strcpy,strcatand the integer to floating-point conversions__floatsisf,__floatunsisf,__floatdisf,__floatundisf,__floatsidf,__floatunsidf,__floatdidfand__floatundidfunderlibncrt_smallwith minimal increase in code size.Improved the performance of the assembly routines such as
memcpyand__divsf3by optimizing the instruction scheduling to avoid load-to-use stalls.
Bug Fixes:
Fixed the double-precision floating-point division
__divdf3failing on cores which only have theZmmulextension, since it used thedivuinstruction which is not available without theMextension.Fixed a linker error when linking the UART ‘fileops’ library without
-gc-sectionsdue to the unimplemented__SEGGER_RTL_X_file_eof.
5.9.4. Version 2023.10
New Features:
libncrtis released as three parts,libncrt, ‘heapops’ (basic/realtime/minimal) and ‘fileops’ (uart/semi/rtt).Added the bit operation compiler support APIs
__ctzsi2,__ctzdi2,__ffssi2,__ffsdi2,__bswapsi2and__bswapdi2.Added optimizations for the
Zcmpextension (cm.popretin the assembly routine epilogues)Added the Nuclei
xxlczextension (xl.lb/xl.lbu/xl.sb/xl.lw/xl.ffnz/xl.nzmsk/xl.bezm/xl.bneietc. in the string and floating-point assembly routines).__SEGGER_RTL_init_heapis no longer a weak function.