Skip to content

Commit c25a4ce

Browse files
author
Nicolas Pitre
committed
lib: libc: Disable newlib on FVP SMP configurations for now
Newlib has systematic spinlock validation failures on ARM FVP SMP configurations, manifesting as: ASSERTION FAIL [z_spin_lock_valid(l)] @ WEST_TOPDIR/zephyr/kernel/timeout.c:29 - Caller: sys_clock_elapsed+0x28 This affects all newlib test variants on FVP SMP (tested on both v8a and v9a configurations). The cause has yet to be found. This change disables newlib support specifically for FVP SMP builds by adding a dependency to NEWLIB_LIBC_SUPPORTED. This automatically filters out all newlib test variants without requiring individual platform_exclude entries in each testcase.yaml file. Tests that failed with spinlock validation before this change: - portability.posix.barriers.newlib - portability.posix.clock_selection.newlib - portability.posix.common.newlib - portability.posix.common.tls.newlib - portability.posix.eventfd.newlib - portability.posix.fs.newlib - portability.posix.headers.newlib - portability.posix.rwlocks.newlib - portability.posix.semaphores.newlib - portability.posix.signals.newlib - portability.posix.spinlocks.newlib - portability.posix.threads_ext.newlib - portability.posix.timers.newlib - portability.posix.xsi_realtime.newlib - portability.posix.xsi_single_process.newlib - portability.posix.xsi_streams.newlib - portability.posix.xsi_system_logging.newlib - portability.posix.xsi_threads_ext.newlib - libraries.libc.c11_threads.newlib - libraries.libc.c11_threads.newlib_nano Non-SMP FVP configurations and other ARM platforms are unaffected. Signed-off-by: Nicolas Pitre <[email protected]>
1 parent 013581d commit c25a4ce

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

lib/libc/Kconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@ config NEWLIB_LIBC_SUPPORTED
4747
bool
4848
default y
4949
depends on "$(TOOLCHAIN_HAS_NEWLIB)" = "y"
50+
# Newlib has spinlock validation failures on FVP SMP configurations
51+
# (ASSERTION FAIL [z_spin_lock_valid(l)] in sys_clock_elapsed())
52+
depends on !(BOARD_FVP_BASE_REVC_2XAEM && SMP)
5053
select FULL_LIBC_SUPPORTED
5154
help
5255
Selected when the target has support for the newlib C library

0 commit comments

Comments
 (0)