nuttx/libs/libc/machine
yinshengkai 54040c6888 libs/libc/machine/arm: add Cortex-M0/M23 support to arch_mcount
Add support for ARMv6-M and ARMv8-M Baseline architectures
(Cortex-M0/M0+/M23) in the mcount profiling function. These cores
only support limited Thumb-1 instruction set and require different
assembly instructions compared to ARMv7-M and higher.

Changes:
- Use MOVS+BICS instead of BIC for bit clearing on M0/M23
- Separate register restore for limited push/pop instructions
- Use BX instead of direct POP to PC on M0/M23

Signed-off-by: yinshengkai <yinshengkai@bytedance.com>
2026-02-04 03:03:45 +08:00
..
arm libs/libc/machine/arm: add Cortex-M0/M23 support to arch_mcount 2026-02-04 03:03:45 +08:00
arm64 libc/arm64: add cfi for optimized func 2025-12-18 22:05:12 +08:00
renesas libc/machine/renesas: Move all source files out of gnu folder 2025-06-30 09:56:27 +08:00
risc-v libs/risc-v:add cfi for optimized compilation func 2025-12-18 22:05:12 +08:00
sim Remove FAR from 32/64bit arch 2024-12-05 22:55:39 +08:00
sparc libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
tricore libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
x86 libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
x86_64 arch/x86_64: Add gprof 2026-01-20 22:43:38 +08:00
xtensa libc/machine/xtensa: add mcount implementation for gprof 2025-12-13 13:31:46 +08:00
arch_atomic.c sched/spin_lock: rename raw_spin_lock to spin_lock_notrace 2025-02-13 20:48:15 +08:00
arch_libc.c string:use builtin function to optimize libc function 2025-12-20 10:38:53 +08:00
CMakeLists.txt libc/machine/CMakeLists: should alaways build arch_atomic.c 2024-11-03 02:33:03 +08:00
Kconfig arch:use ARCH_64BIT to mark arch is support 64bit 2025-12-18 22:05:12 +08:00
Make.defs libc/machine:Add prefixes to libc functions implemented by arch 2024-10-31 18:11:16 +08:00