Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Work In Progress

Warning
titleWork In Progress
NuttX X.Y has not been released yet. These Release Notes are a work-in-progress in preparation for the next release of NuttX.  There is a board tracking the PRs that need to be looked at to add to this doc for the OS TODO ADD LINK and for the Apps TODO ADD LINK

What's New In This Release

Major Changes to Core OS

New Features

sched

Markdown
* [#10062](https://github.com/apache/nuttx/pull/10062) sched: add CRITMONITOR time out panic
* [#10273](https://github.com/apache/nuttx/pull/10273) sched: add the startup process tracepoint
* [#9768](https://github.com/apache/nuttx/pull/9768) sched: Added missing semicolon to dead-lock detection.
* [#9824](https://github.com/apache/nuttx/pull/9824) sched: assert: check intstack_sp when print last stack in irq context
* [#10009](https://github.com/apache/nuttx/pull/10009) sched: Assert: Enhance the panic notify feature
* [#10811](https://github.com/apache/nuttx/pull/10811) sched: assert: Skip to include board:board.h if CONFIG_ARCH_LEDS=n
* [#10705](https://github.com/apache/nuttx/pull/10705) sched: clock: Add special handling for TCB null pointer cases
* [#9691](https://github.com/apache/nuttx/pull/9691) sched: clock: clock_getcpuclockid: add clock_getcpuclockid implementation
* [#9701](https://github.com/apache/nuttx/pull/9701) sched: clock: clock_getcpuclockid: fix code format, remove space
* [#9678](https://github.com/apache/nuttx/pull/9678) sched: clock: clock_getres: add two CPUTIME_ID res support
* [#9753](https://github.com/apache/nuttx/pull/9753) sched: clock: fix build break
* [#9735](https://github.com/apache/nuttx/pull/9735) sched: clock: move clock_getcpuclockid() and clock_getres() to libc + misc fixes
* [#10086](https://github.com/apache/nuttx/pull/10086) sched: Define sched_getcpu return 0 when CONFIG_SMP equals n
* [#10603](https://github.com/apache/nuttx/pull/10603) sched: do not DEBUGASSERT for priority multi-boost
* [#9632](https://github.com/apache/nuttx/pull/9632) sched: fix pthread_exit crash
* [#10041](https://github.com/apache/nuttx/pull/10041) sched: group_killchildren send signo SIGQUIT before cancel it
* [#10758](https://github.com/apache/nuttx/pull/10758) sched: implement effective uid and gid interfaces #10119 enable O_CLOEXEC explicit
* [#10419](https://github.com/apache/nuttx/pull/10419) eched: misc: assert: Fix the printing alignment of interrupt stack during assert
* [#10493](https://github.com/apache/nuttx/pull/10493) sched: misc: optimize collect_deadlock implementation
* [#10035](https://github.com/apache/nuttx/pull/10035) sched: pthread: Don't do cancel when it is already in the exit process
* [#9631](https://github.com/apache/nuttx/pull/9631) sched: pthread: fix race condition on pthread_cond_wait()
* [#10155](https://github.com/apache/nuttx/pull/10155) sched: pthread: remove unused temp change sched_priority
* [#10683](https://github.com/apache/nuttx/pull/10683) sched: pthread_cleanup: rm sched_[un]lock
* [#10681](https://github.com/apache/nuttx/pull/10681) sched: pthread_once: use rmutex replace sched_[un]lock
* [#10078](https://github.com/apache/nuttx/pull/10078) sched: replace nxsched_gettid with nxsched_getpid.
* [#10686](https://github.com/apache/nuttx/pull/10686) sched: return 0 from clock_systime_ticks if failed
* [#9863](https://github.com/apache/nuttx/pull/9863) sched: Rename DEBUG_TCBINFO to ARCH_HAVE_TCBINFO
* [#10199](https://github.com/apache/nuttx/pull/10199) sched: semaphore: Remove restriction to use nxsem_trywait from ISR
* [#10430](https://github.com/apache/nuttx/pull/10430) sched: signal: add more value defines of the siginfo si_code field
* [#10431](https://github.com/apache/nuttx/pull/10431) sched: signal: add siginterrupt implementation
* [#9704](https://github.com/apache/nuttx/pull/9704) sched: signal: correct to const pointer for sigorset and sigandset
* [#10040](https://github.com/apache/nuttx/pull/10040) sched: signal: fix group signal can't dispatch some parent group twice
* [#9923](https://github.com/apache/nuttx/pull/9923) sched: signal: ltp: sigprocmask fix
* [#10668](https://github.com/apache/nuttx/pull/10668) sched: signal: use work_cancel_sync() to fix used after free
* [#9790](https://github.com/apache/nuttx/pull/9790) sched: signal: SIGKILL or SIGSTOP cannot be caught
* [#9848](https://github.com/apache/nuttx/pull/9848) sched: signal: sig_nanosleep: fix the clock_nanosleep posix case
* [#10321](https://github.com/apache/nuttx/pull/10321) sched: sigqueue: add signal type judgment logic
* [#10313](https://github.com/apache/nuttx/pull/10313) sched: SMP: fix repeat entry timer_start
* [#10000](https://github.com/apache/nuttx/pull/10000) sched: SMP: fix repeat entry oneshot_tick_start
* [#10312](https://github.com/apache/nuttx/pull/10312) sched: smp: flush dcache before start other cpus
* [#9755](https://github.com/apache/nuttx/pull/9755) sched: task:fork: add fork implementation
* [#9961](https://github.com/apache/nuttx/pull/9961) sched: task: task_spawnparms: out of loop when ret less than 0
* [#9878](https://github.com/apache/nuttx/pull/9878) sched: tcbinfo: add stack info to tcbinfo
* [#10063](https://github.com/apache/nuttx/pull/10063) sched: use perf to implement cpuload
* [#10684](https://github.com/apache/nuttx/pull/10684) sched: wdog:change g_wdtickbase update situation

mm

Markdown
* [#9970](https://github.com/apache/nuttx/pull/9970) memdump: support dump the leak memory (malloced but task exit)
* [#10287](https://github.com/apache/nuttx/pull/10287) mempool: add check for double free check for mempool free
* [#10283](https://github.com/apache/nuttx/pull/10283) mempool: Use default alignment inside of blockalign
* [#10420](https://github.com/apache/nuttx/pull/10420) mm: alloc: remove all unnecessary cast for alloc
* [#10584](https://github.com/apache/nuttx/pull/10584) mm: heap: add coloration after free to detect use after free issue
* [#10704](https://github.com/apache/nuttx/pull/10704) mm: iob: limit the iob bufsize is sufficient to fill all L2:L3:L4 headers
* [#10292](https://github.com/apache/nuttx/pull/10292) mm: iob: iob_clone_partial support Negative offset
* [#10291](https://github.com/apache/nuttx/pull/10291) mm: iob: add elapse calc for iob_allocwait
* [#9741](https://github.com/apache/nuttx/pull/9741) mm: iob:iob_alloc: change sem_post to count++
* [#9630](https://github.com/apache/nuttx/pull/9630) mm: kasan: replace load:store methods to macro
* [#9969](https://github.com/apache/nuttx/pull/9969) mm: record more useful backtrace for memory node
* [#10786](https://github.com/apache/nuttx/pull/10786) mm: rewrite the memdump code for more readable
* [#10566](https://github.com/apache/nuttx/pull/10566) mm: shm:shmget: Zero allocated shared memory pages when created.
* [#10150](https://github.com/apache/nuttx/pull/10150) mm: mempool:change mutex to rmutex avoid deadlock
* [#10098](https://github.com/apache/nuttx/pull/10098) mm_heap: check heap member in advance
* [#9972](https://github.com/apache/nuttx/pull/9972) mm_heap: mm malloc failed dump and panic only valid for the heap own by OS
* [#9933](https://github.com/apache/nuttx/pull/9933) mmap: tmpfs: support mmap for tmpfs

libs

Markdown

* [#10415](https://github.com/apache/nuttx/pull/10415) alloca: add alloca implement for MSVC
* [#10337](https://github.com/apache/nuttx/pull/10337) ctype: toupper_l: Implement function toupper_l instead of macro
* [#9636](https://github.com/apache/nuttx/pull/9636) libc.csv: Correct return type of strchr
* [#10053](https://github.com/apache/nuttx/pull/10053) Revert "newlib: libc: memcpy M-profile PACBTI-enablement"
* [#10796](https://github.com/apache/nuttx/pull/10796) libc: add bsearch to libc.csv
* [#9706](https://github.com/apache/nuttx/pull/9706) libc: Add support for gdb rsp protocol
* [#10739](https://github.com/apache/nuttx/pull/10739) libc: add wchar api implementation
* [#10667](https://github.com/apache/nuttx/pull/10667) libc: add wchar implementation
* [#9643](https://github.com/apache/nuttx/pull/9643) libc: aio: fix aio_fsync compatible issue
* [#9626](https://github.com/apache/nuttx/pull/9626) libc: aio: fix aio_error compatible bug
* [#9634](https://github.com/apache/nuttx/pull/9634) libc: aio: fix aio_return compatible bug
* [#9640](https://github.com/apache/nuttx/pull/9640) libc: aio: fix aio_write compatible bug
* [#9637](https://github.com/apache/nuttx/pull/9637) libc: aio: fix aio_read compatible bug
* [#9648](https://github.com/apache/nuttx/pull/9648) libc: aio: fix aio_cancel compatible issue
* [#9655](https://github.com/apache/nuttx/pull/9655) libc: aio: adjust the flags determination method
* [#9664](https://github.com/apache/nuttx/pull/9664) libc: aio:lio_listio: fix the heap use-after-free bug
* [#10408](https://github.com/apache/nuttx/pull/10408) libc: Breakdown LIBC_BUILD_STRING into specific string operation…
* [#9835](https://github.com/apache/nuttx/pull/9835) libc: basename: Change len type from int to size_t
* [#10417](https://github.com/apache/nuttx/pull/10417) libc: change the default NETDB_DNSCLIENT_MAXRESPONSE to the standard length
* [#10021](https://github.com/apache/nuttx/pull/10021) libc: compatible with Android for htonq:ntohq
* [#10708](https://github.com/apache/nuttx/pull/10708) libc: currect usage of getpid:gettid in library
* [#10121](https://github.com/apache/nuttx/pull/10121) libc: fdt: add libfdt support
* [#10405](https://github.com/apache/nuttx/pull/10405) libc: fdt: modify makefile
* [#10519](https://github.com/apache/nuttx/pull/10519) libc: fix a fatal bug in fread
* [#9806](https://github.com/apache/nuttx/pull/9806) libc: fix and improve dynamic loader
* [#9716](https://github.com/apache/nuttx/pull/9716) libc: fix Deadloop in VFS if CONFIG_CANCELLATION_POINTS is enabled
* [#10470](https://github.com/apache/nuttx/pull/10470) libc: Fix loading of ET_DYN type of shared objects
* [#9882](https://github.com/apache/nuttx/pull/9882) libc: Fix modlib to get binary loading working again
* [#10169](https://github.com/apache/nuttx/pull/10169) libc: fix wait after vfork return error
* [#10508](https://github.com/apache/nuttx/pull/10508) libc: fopen: support fopen with mode 'm'
* [#10290](https://github.com/apache/nuttx/pull/10290) libc: getifaddrs: set sin6_scope_id when IPv6 enable
* [#9789](https://github.com/apache/nuttx/pull/9789) libc: getpgid: add getpgid implementation
* [#10336](https://github.com/apache/nuttx/pull/10336) libc: gpsutils: merged into one target to fix issue of parallel compile
* [#10184](https://github.com/apache/nuttx/pull/10184) libc: hex2bin: enhance 64-bit compatibility
* [#10675](https://github.com/apache/nuttx/pull/10675) libc: lib_iconv.c:Fix possible out-of-bounds reads
* [#10286](https://github.com/apache/nuttx/pull/10286) libc: lib_psfa_adddup2: fix mem leak when failed
* [#9644](https://github.com/apache/nuttx/pull/9644) libc: lib_remove: fix TOCTOU race condition
* [#10358](https://github.com/apache/nuttx/pull/10358) libc: libfread: Use memcpy to copy read-ahead buffer to caller buffer.
* [#9696](https://github.com/apache/nuttx/pull/9696) libc: libvsprintf: fix vsnprintf bug with "%#.0f"
* [#9748](https://github.com/apache/nuttx/pull/9748) libc: libvsprintf: fix vsnprintf bug with "%e"
* [#9662](https://github.com/apache/nuttx/pull/9662) libc: locale:langinfo: implement the nl_langinfo function
* [#10607](https://github.com/apache/nuttx/pull/10607) libc: machine: Add LIBC_PREVENT_xxx which select LIBC_PREVENT_XXX_[KERNEL|USER] automatically
* [#10446](https://github.com/apache/nuttx/pull/10446) libc: machine: Fix ARMV[7|8]M_STRING_FUNCTION typo error in Kconfig
* [#10509](https://github.com/apache/nuttx/pull/10509) libc: mallopt: implement dummy mallopt
* [#9737](https://github.com/apache/nuttx/pull/9737) libc: modlib: fix dynamic loader issues
* [#10302](https://github.com/apache/nuttx/pull/10302) libc: netdb: add dependence to net ip config
* [#10798](https://github.com/apache/nuttx/pull/10798) libc: netdb: Change the default NETDB_DNSCLIENT_NAMESIZE to PATH_MAX
* [#9890](https://github.com/apache/nuttx/pull/9890) libc: netdb: Move dns query info and buffer out of the stack
* [#9857](https://github.com/apache/nuttx/pull/9857) libc: netdb: print dns server address when query failed
* [#10761](https://github.com/apache/nuttx/pull/10761) libc: netdb: fix dns failed when ipv4:6 dual stack enable
* [#10622](https://github.com/apache/nuttx/pull/10622) libc: netdb: Restrict DNS query types
* [#10624](https://github.com/apache/nuttx/pull/10624) libc: provide flat mode the chip string customization.
* [#9886](https://github.com/apache/nuttx/pull/9886) libc: pthread: add pthread_atfork implementation
* [#9947](https://github.com/apache/nuttx/pull/9947) libc: pthread: add pthread_attr_set:getscope api
* [#9708](https://github.com/apache/nuttx/pull/9708) libc: pthread: add the implementation of pthread_getcpuclockid
* [#9903](https://github.com/apache/nuttx/pull/9903) libc: pthread: fix the incorrect description in comments
* [#10752](https://github.com/apache/nuttx/pull/10752) libc: pthread: g_lock may lead deadlock
* [#9771](https://github.com/apache/nuttx/pull/9771) libc: pthread: remove unsed compare code in pthread_rwlock_init()
* [#9948](https://github.com/apache/nuttx/pull/9948) libc: rand_r: support rand_r api
* [#9773](https://github.com/apache/nuttx/pull/9773) libc: set CONFIG_PTHREAD_STACK_MIN as DEFAULT_MM_PGSIZE`s default value and
* [#10064](https://github.com/apache/nuttx/pull/10064) libc: stdio: changed LIBC_NL_ARGMAX default value to 9
* [#10612](https://github.com/apache/nuttx/pull/10612) libc: stdio: lib_libfread: Fix buffer overflow issue
* [#9766](https://github.com/apache/nuttx/pull/9766) libc: stdlib: fix strtoul,strtoull bugs when value outside range
* [#9877](https://github.com/apache/nuttx/pull/9877) libc: strftime: add modifier character support to strftime
* [#10475](https://github.com/apache/nuttx/pull/10475) libc: support unlock version for fread:fwrite:fputc:fgetc:...
* [#9750](https://github.com/apache/nuttx/pull/9750) libc: symtab: Move SYMTAB_XXX from unistd:Kconfig to symtab:Kconfig
* [#9650](https://github.com/apache/nuttx/pull/9650) libc: time:strftime: complete the strftime implementation
* [#9836](https://github.com/apache/nuttx/pull/9836) libc: tls: Change the default value of TLS_NELEM to zero
* [#10320](https://github.com/apache/nuttx/pull/10320) libc: tls: Move task_tls_alloc and task_tls_destruct to libc
* [#10288](https://github.com/apache/nuttx/pull/10288) libc: tls: move task tls destruct to before _exit 
* [#10082](https://github.com/apache/nuttx/pull/10082) libc: tls: Setting the candidtate index to null prevents dangling pointers.
* [#10510](https://github.com/apache/nuttx/pull/10510) libm: ignore git submodules
* [#9764](https://github.com/apache/nuttx/pull/9764) libm: libmcs: Fix undefined symbol 'fesetround'
* [#10114](https://github.com/apache/nuttx/pull/10114) libm: newlib: fix newlib build error
* [#10626](https://github.com/apache/nuttx/pull/10626) libm: use newlib-esp32
* [#10523](https://github.com/apache/nuttx/pull/10523) libsrc: Update libsrc
* [#8244](https://github.com/apache/nuttx/pull/8244) libcxx: LLVM libcxx upgrade from 12.0.0 to 15.0.7
* [#10674](https://github.com/apache/nuttx/pull/10674) libcxx: select PTHREAD_MUTEX_TYPES to support recursive mutex
* [#10370](https://github.com/apache/nuttx/pull/10370) libcxx: strict GCC version check from GCC-12.2 to GCC-12

binfmt

Markdown
* [#10144](https://github.com/apache/nuttx/pull/10144) binfmt: add enter_critical_section
* [#10630](https://github.com/apache/nuttx/pull/10630) binfmt: binfmt_execmodule: Copy filename if CONFIG_BUILD_KERNEL and argv=NULL
* [#10107](https://github.com/apache/nuttx/pull/10107) binfmt: Change the default of BINFMT_DISABLE to DEFAULT_SMALL
* [#9635](https://github.com/apache/nuttx/pull/9635) binfmt: elf: Allow the userspace ELF type to be defined by board configuration.
* [#9703](https://github.com/apache/nuttx/pull/9703) binfmt: elf: Replace nx_stat with file_stat
* [#9946](https://github.com/apache/nuttx/pull/9946) binfmt: elf: both regular file and non-regular file (such as :dev:node…
* [#9956](https://github.com/apache/nuttx/pull/9956) binfmt: elf: bss section should init to zero
* [#9710](https://github.com/apache/nuttx/pull/9710) binfmt: elf: Replace {0x7f, 'E', 'L', 'F'} to EI_MAGIC
* [#9945](https://github.com/apache/nuttx/pull/9945) binfmt: elf: Support to load ET_EXEC in flat mode
* [#10380](https://github.com/apache/nuttx/pull/10380) binfmt: Exec: Support run exec in current task
* [#9665](https://github.com/apache/nuttx/pull/9665) binfmt: Immediately exit from elf_loadbinary if elf format isn't supported
* [#10462](https://github.com/apache/nuttx/pull/10462) binfmt: libelf:ELF Loader
* [#9833](https://github.com/apache/nuttx/pull/9833) binfmt: Move elf_allocbuffer to elf_sectname and elf_symname
* [#9751](https://github.com/apache/nuttx/pull/9751) binfmt: Move [elf|nxflat]_[un]initialize to private header file
* [#9908](https://github.com/apache/nuttx/pull/9908) binfmt: remove sched_[un]lock
* [#8924](https://github.com/apache/nuttx/pull/8924) binfmt: support uid:gid config for binfs app
* [#10176](https://github.com/apache/nuttx/pull/10176) binfmt: support euid of process set from the file system
* [#10474](https://github.com/apache/nuttx/pull/10474) binfmt: The program headers are optional.

misc

markdown
Markdown
* [#10105](https://github.com/apache/nuttx/pull/10105) audio: add format sbc support
* [#10340](https://github.com/apache/nuttx/pull/10340) audio: support 32-bits pcm
* [#10515](https://github.com/apache/nuttx/pull/10515) aio: change aio_fildes int type
* [#10749](https://github.com/apache/nuttx/pull/10749) debug: add support for IPC (interprocessor communication) debug messages
* [#10384](https://github.com/apache/nuttx/pull/10384) debug: Let boards define custom debug configuration.
* [#10066](https://github.com/apache/nuttx/pull/10066) don't call lib_free in the kernel code
* [#9677](https://github.com/apache/nuttx/pull/9677) errno: Adjust help string for EALREADY and ESTALE
* [#10562](https://github.com/apache/nuttx/pull/10562) extract PAGESIZE and PAGEMASK from definitions and seems as common macro
* [#10079](https://github.com/apache/nuttx/pull/10079) fix SIM sensor rpmsg runtime error by asan report.
* [#10531](https://github.com/apache/nuttx/pull/10531) fix wait error after vfork
* [#9740](https://github.com/apache/nuttx/pull/9740) ifaddrs: add union ifa_ifu include ifu_broadaddr and ifu_dstaddr
* [#9816](https://github.com/apache/nuttx/pull/9816) include: add packed_struct macro implement
* [#10323](https://github.com/apache/nuttx/pull/10323) include: add the module of SDIO Slave
* [#10280](https://github.com/apache/nuttx/pull/10280) include: audio: Add AUDIO_CHANNELS_RANGE macro
* [#9934](https://github.com/apache/nuttx/pull/9934) include: bits.h: support GENMASK and GENMASK_ULL
* [#9774](https://github.com/apache/nuttx/pull/9774) include: change clockid_t type from uint8_t to int
* [#9951](https://github.com/apache/nuttx/pull/9951) include: fcntl.h: add O_NOATIME flags
* [#10357](https://github.com/apache/nuttx/pull/10357) include: list: Rewrite list_entry:list_first_entry:list_last_entry 
* [#10303](https://github.com/apache/nuttx/pull/10303) include: move clockid_t and time[r]_t define to sys:types.h
* [#10120](https://github.com/apache/nuttx/pull/10120) include: note: fix sched_note_begin address errr
* [#10315](https://github.com/apache/nuttx/pull/10315) include: socket can : support ioctl cmd SIOCCANRECOVERY
* [#10395](https://github.com/apache/nuttx/pull/10395) make:archive: Use the full path name when matching or storing names in the archive
* [#10463](https://github.com/apache/nuttx/pull/10463) modify debug to enable ERR:WARN:INFO when DEBUG_FEATURES is enabled
* [#10507](https://github.com/apache/nuttx/pull/10507) mmc: add timeout fields for mmc_ioc_cmd
* [#10555](https://github.com/apache/nuttx/pull/10555) mmc: change rpmb operation type define style 
* [#10670](https://github.com/apache/nuttx/pull/10670) notifier: add BLOCKING_INIT_NOTIFIER_HEAD support
* [#9760](https://github.com/apache/nuttx/pull/9760) openamp:libmetal: Check CONFIG_HAVE_ATOMICS instead of HAVE_STDATOMIC_H in atomic.h
* [#10136](https://github.com/apache/nuttx/pull/10136) perf: The new configuration supports hardware performance counting
* [#10033](https://github.com/apache/nuttx/pull/10033) posix: fix some issues for ltp mqueue testcases.
* [#10002](https://github.com/apache/nuttx/pull/10002) posix: fix ltp test issues
* [#10581](https://github.com/apache/nuttx/pull/10581) split a single queue to two separate queues at node p.
* [#10664](https://github.com/apache/nuttx/pull/10664) unistd: add _POSIX_SEMAPHORES definition
* [#10110](https://github.com/apache/nuttx/pull/10110) use lib_free for memory deallocation after strdup or asprintf
* [#10458](https://github.com/apache/nuttx/pull/10458) video:fb: add xres and yres for fb overlay

Changes to the Build System

...