zephyr/subsys/debug
Keith Packard 2d64237f44 cmake: Enable undefined behavior sanitizer on all targets
GCC and Clang support the undefined behavior sanitizer in any
configuration, the only restriction is that if you want to get nice
messages printed, then you need the ubsan library routines which are only
present for posix architecture or when using picolibc.

This patch adds three new compiler properties:

 * sanitizer_undefined. Enables the undefined behavior sanitizer.
 * sanitizer_undefined_library. Calls ubsan library routines on fault.
 * sanitizer_undefined_trap. Invokes __builtin_trap() on fault.

Overhead for using the trapping sanitizer is fairly low and should be
considered for use in CI once all of the undefined behavior faults in
Zephyr are fixed.

Signed-off-by: Keith Packard <keithp@keithp.com>
2025-05-02 01:16:18 +02:00
..
coredump coredump: Add an in-memory backend 2025-03-29 07:44:11 -04:00
coresight debug: coresight: Add coresight_trace_deformatter 2024-08-12 19:23:19 -04:00
gdbstub debug: gdbstub: Re-enable warning 2025-02-21 04:46:12 +01:00
symtab debug: symtab: fix ignored type qualifiers on func return type 2024-11-06 09:52:36 -08:00
thread_analyzer debug: thread_analyzer: move thread analyzer to own folder 2025-04-04 07:42:20 +02:00
asan_hacks.c
CMakeLists.txt debug: thread_analyzer: move thread analyzer to own folder 2025-04-04 07:42:20 +02:00
cpu_load.c debug: cpu_load: Add missing static keyword 2025-04-16 14:53:30 +02:00
Kconfig cmake: Enable undefined behavior sanitizer on all targets 2025-05-02 01:16:18 +02:00
mipi_stp_decoder.c debug: mipi_stp_decoder: Avoid potential 64bit unaligned access 2024-10-09 13:45:04 +02:00
thread_info.c debug: Set thread_info.c variables to const 2023-09-11 19:56:18 +02:00