nuttx/libs/libc/misc
chenzhaoxiang 3fb1a40a4b libs/libc: add configurable skip count for mutex backtrace addresses
This commit introduces a new Kconfig option LIBC_MUTEX_BACKTRACE_SKIP tocontrol the
number of initial addresses skipped when generating mutex backtraces.

Key changes:
1. Add LIBC_MUTEX_BACKTRACE_SKIP Kconfig entry (depends on
LIBC_MUTEX_BACKTRACE > 0), defaulting to 2. This option lets users configure
how many leading addresses are omitted from the mutex backtrace output.

2. Modify the nxmutex_add_backtrace() function to pass the new config value
as the skip parameter to sched_backtrace(), replacing the hardcoded 0.

This enhancement improves the usability of mutex backtraces by allowing removalof uninformative
initial stack frames (e.g., backtrace helper functions ormutex acquisition wrappers), making the
relevant call stack entries more visiblefor debugging lock-related issues.

The default value (2) maintains sensibleout-of-the-box behavior while enabling customization for specific use cases.

Signed-off-by: chao an <anchao.archer@bytedance.com>
2026-02-27 19:54:37 +08:00
..
CMakeLists.txt libs/crc: implement AUTOSAR-compatible CRC algorithm 2026-01-30 17:32:15 +08:00
Kconfig libs/libc: add configurable skip count for mutex backtrace addresses 2026-02-27 19:54:37 +08:00
lib_backtrace.c lib/backtrace:need init lock before use 2025-12-22 15:23:04 +08:00
lib_bitmap.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lib_circbuf.c circbuf: fix circbuf_get_read/writeptr return *size = 0 when circbuf full 2024-10-16 16:59:51 +08:00
lib_crc8.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_crc8ccitt.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_crc8h1d.c libs/crc: implement AUTOSAR-compatible CRC algorithm 2026-01-30 17:32:15 +08:00
lib_crc8h2f.c libs/crc: implement AUTOSAR-compatible CRC algorithm 2026-01-30 17:32:15 +08:00
lib_crc8rohc.c libc/crc: Add crc8rohcincr for incremental CRC8 ROHC calculation 2025-09-30 17:30:46 -03:00
lib_crc8table.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_crc16.c libs/libc/crc16: Separate implementation of crc16xmodem from crc16 2025-04-10 16:47:28 +08:00
lib_crc16ccitt.c libs/libc/crc16: move crc16 table to rodata 2025-04-07 09:02:01 +08:00
lib_crc16h1021.c libs/crc: implement AUTOSAR-compatible CRC algorithm 2026-01-30 17:32:15 +08:00
lib_crc16h8005.c libs/crc: implement AUTOSAR-compatible CRC algorithm 2026-01-30 17:32:15 +08:00
lib_crc16ibm.c libs/libc/crc16: add support of CRC-16/ANSI(aka CRC-16/IBM) 2025-04-07 12:10:05 +08:00
lib_crc16xmodem.c libs/libc/crc16: Separate implementation of crc16xmodem from crc16 2025-04-10 16:47:28 +08:00
lib_crc32.c libc/arm: optimize crc32/crc32c for arm 2025-04-04 09:51:50 -03:00
lib_crc32h04c11db7.c libs/crc: implement AUTOSAR-compatible CRC algorithm 2026-01-30 17:32:15 +08:00
lib_crc32hf4acfb13.c libs/crc: implement AUTOSAR-compatible CRC algorithm 2026-01-30 17:32:15 +08:00
lib_crc64.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_crc64emac.c libs/crc: implement AUTOSAR-compatible CRC algorithm 2026-01-30 17:32:15 +08:00
lib_creat.c libc: add creat function implementation 2026-01-16 01:38:20 +08:00
lib_cxx_initialize.c userspace: Exclude nuttx/arch.h 2024-11-01 16:59:37 +08:00
lib_debug.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_dumpbuffer.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_dumpvbuffer.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_envpath.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lib_err.c lib_libvsprintf.c:add option in Kconfig to control "%p*" special format specifier. 2024-10-15 15:33:13 +08:00
lib_fchmodat.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
lib_fdcheck.c libc/fdcheck: cause system to panic when a double close occurs 2025-05-14 15:02:17 +08:00
lib_fdsan.c arch_atomic: only support atomic_xx and atomic64_xx function 2024-12-04 14:03:14 +01:00
lib_fnmatch.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_fstatat.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
lib_ftok.c libs/libc/ftok: fix sizeof(char *), after tempbuffer 2026-01-13 01:59:58 +08:00
lib_getfullpath.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_getnprocs.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_getrandom.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_glob.c libs: unify Private Types banners 2025-05-28 10:17:15 +08:00
lib_idr.c libc/idr: Remove nodes from RB trees during destroy 2025-07-12 14:24:32 +08:00
lib_impure.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_instrument.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lib_kbddecode.c stream_getc: use lib_stream_eof instead of EOF 2024-11-26 10:25:36 +08:00
lib_kbdencode.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_mallopt.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_memfd.c libc/shmfs: Ensure uniqueness of memfd. 2026-01-22 22:11:17 +08:00
lib_mkdirat.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
lib_mkfifo.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
lib_mknod.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
lib_mutex.c libs/libc: add configurable skip count for mutex backtrace addresses 2026-02-27 19:54:37 +08:00
lib_ncompress.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lib_note.c driver/note: Fix compilation error when CONFIG_SYSLOG_TO_SCHED_NOTE=y 2026-01-23 07:48:08 -03:00
lib_openat.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
lib_slcddecode.c stream_getc: use lib_stream_eof instead of EOF 2024-11-26 10:25:36 +08:00
lib_slcdencode.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_tea_decrypt.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_tea_encrypt.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_tempbuffer.c libs/lib_tempbuffer: set errno when fails 2025-01-17 08:16:14 +08:00
lib_uadd32x64.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_uadd64.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_umask.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_umul32.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_umul32x64.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_umul64.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_usub64.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_usub64x32.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_utimensat.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
lib_utsname.c libc/utsname: Only store version in RAM, use rodata for all others 2024-10-12 15:36:28 +08:00
lib_xorshift128.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
Make.defs libs/crc: implement AUTOSAR-compatible CRC algorithm 2026-01-30 17:32:15 +08:00