kernel: fatal: Fix NO_OPTIMIZATIONS build

When logging is on and optimization and multithreading is off then
build fails to link because unoptimized compiler/linker seems to not
look beyond the function and it fails trying to link k_thread_name_get.
Reworking the code to make it known to the compiler without optimization
that k_thread_name_get is not needed and not logging current thread
name in that case.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
This commit is contained in:
Krzysztof Chruściński 2024-07-08 12:24:50 +02:00 committed by Anas Nashif
commit 28b4bab01c

View file

@ -110,8 +110,9 @@ void z_fatal_error(unsigned int reason, const struct arch_esf *esf)
}
#endif /* CONFIG_ARCH_HAS_NESTED_EXCEPTION_DETECTION */
LOG_ERR("Current thread: %p (%s)", thread,
thread_name_get(thread));
if (IS_ENABLED(CONFIG_MULTITHREADING)) {
LOG_ERR("Current thread: %p (%s)", thread, thread_name_get(thread));
}
coredump(reason, esf, thread);