nuttx/libs/libc/machine/arm
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: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
armv6-m libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
armv7-a armv7a:add cfi instrcutions to debug 2025-12-18 22:05:12 +08:00
armv7-m ghs: fix the UsageFault:INVSTATE error triggered by exception_common 2026-01-16 09:41:13 +08:00
armv7-r memset: add none NEON version support for armv7-a/r 2025-12-18 22:05:12 +08:00
armv8-m libc/machine/arm: Move all source files out of gnu folder 2025-06-30 09:56:27 +08:00
armv8-r libs/libc: Fix Kconfig issue for memcpy and memset 2025-11-07 13:04:20 +01:00
aeabi_memclr.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
aeabi_memclr4.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
aeabi_memclr8.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
aeabi_memcpy.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
aeabi_memcpy4.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
aeabi_memcpy8.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
aeabi_memmove.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
aeabi_memmove4.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
aeabi_memmove8.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
aeabi_memset.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
aeabi_memset4.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
aeabi_memset8.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
arch_atexit.c libc/machine/arm: Move all source files out of gnu folder 2025-06-30 09:56:27 +08:00
arch_crc32.c libc/arm: optimize crc32/crc32c for arm 2025-04-04 09:51:50 -03:00
arch_dummy.c arch/arm: Move lib_dummy.c from arch/arm/src/common/ghs to libs/libc/machine/arm 2025-06-30 09:56:27 +08:00
arch_mcount.S libs/libc/machine/arm: add Cortex-M0/M23 support to arch_mcount 2026-02-04 03:03:45 +08:00
arch_setjmp.S libc/machine/arm: Move all source files out of gnu folder 2025-06-30 09:56:27 +08:00
arch_unwind_find_exidx.c libc/machine/arm: Move all source files out of gnu folder 2025-06-30 09:56:27 +08:00
CMakeLists.txt libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
Kconfig libc/arm: optimize crc32/crc32c for arm 2025-04-04 09:51:50 -03:00
Make.defs libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
tc32_setjmp.S libc/machine/arm: Move all source files out of gnu folder 2025-06-30 09:56:27 +08:00