Go to file
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
.github ci: workflows: check for manifest dnm in the manifest workflow 2025-04-29 19:06:55 +02:00
arch cmake: Enable undefined behavior sanitizer on all targets 2025-05-02 01:16:18 +02:00
boards arc: add ram to qemu board yaml so arc tests run 2025-05-01 18:16:30 +02:00
cmake cmake: Enable undefined behavior sanitizer on all targets 2025-05-02 01:16:18 +02:00
doc doc: toolchain: atfe: arm toolchain for embedded documentation 2025-05-02 01:16:08 +02:00
drivers drivers/sensor: lis2dux12: add high performance mode 2025-05-01 18:17:05 +02:00
dts drivers/sensor: lis2dux12: add high performance mode 2025-05-01 18:17:05 +02:00
include/zephyr drivers/sensor: lis2dux12: add high performance mode 2025-05-01 18:17:05 +02:00
kernel arch: common: Make nocache region loadable 2025-04-21 12:42:19 +02:00
lib libc: newlib: heap arean to support Xtensa MPU 2025-05-01 18:16:20 +02:00
misc license: Remove non-copyrightable license 2025-02-26 22:04:51 +00:00
modules modules: stm32: add DCMIPP and DDR modules found on STM32MP13XX 2025-04-30 23:03:17 +02:00
samples samples: sensor: lps22hh: fix title 2025-05-01 18:18:03 +02:00
scripts scripts: west_commands: Add powershell autocompletion (west -b) 2025-05-02 01:16:00 +02:00
share sysbuild: Add firmware loader application type support 2025-04-25 14:03:34 +02:00
snippets snippets: remove unrelated files 2025-04-30 13:59:39 +02:00
soc soc: nxp: rw: fix wrong dependency on kconfigs 2025-05-01 18:16:57 +02:00
submanifests manifest: tf-m: update to 2.1.2 2025-04-22 12:09:37 +02:00
subsys cmake: Enable undefined behavior sanitizer on all targets 2025-05-02 01:16:18 +02:00
tests tests: drivers: spi: spi_loopback: update testcase file 2025-05-01 18:17:15 +02:00
.checkpatch.conf
.clang-format clang-format: add new line at EOF. 2025-04-11 22:07:26 +02:00
.codechecker.yml
.codecov.yml
.editorconfig
.gitattributes
.gitignore scripts: ci: check_compliance: Add sysbuild Kconfig checks 2025-01-17 16:35:53 +01:00
.gitlint gitlint: Fix dependabot exception 2025-04-09 09:02:39 +02:00
.mailmap
.ruff-excludes.toml style: edtlib: Remove the redundant keys() method 2025-03-28 12:22:00 +01:00
.ruff.toml
.yamllint
CMakeLists.txt cmake: Enable undefined behavior sanitizer on all targets 2025-05-02 01:16:18 +02:00
CODE_OF_CONDUCT.md
CODEOWNERS ci: add empty CODEOWNERS file 2025-03-27 09:50:45 +01:00
CONTRIBUTING.rst
Kconfig
Kconfig.constants
Kconfig.zephyr arch: add dependencie for CONFIG_SRAM_VECTOR_TABLE 2025-04-25 11:03:54 +02:00
LICENSE
MAINTAINERS.yml MAINTAINERS: add collaborator and board to NXP Robotics area 2025-05-01 18:16:39 +02:00
README.rst
SDK_VERSION
VERSION VERSION: bump to 4.1.99 2025-03-07 17:36:15 +00:00
version.h.in
west.yml west: update hal_stm32 to take MP13 HAL update 2025-04-30 23:03:17 +02:00
zephyr-env.cmd
zephyr-env.sh

.. raw:: html

   <a href="https://www.zephyrproject.org">
     <p align="center">
       <picture>
         <source media="(prefers-color-scheme: dark)" srcset="doc/_static/images/logo-readme-dark.svg">
         <source media="(prefers-color-scheme: light)" srcset="doc/_static/images/logo-readme-light.svg">
         <img src="doc/_static/images/logo-readme-light.svg">
       </picture>
     </p>
   </a>

   <a href="https://bestpractices.coreinfrastructure.org/projects/74"><img src="https://bestpractices.coreinfrastructure.org/projects/74/badge"></a>
   <a href="https://scorecard.dev/viewer/?uri=github.com/zephyrproject-rtos/zephyr"><img src="https://api.securityscorecards.dev/projects/github.com/zephyrproject-rtos/zephyr/badge"></a>
   <a href="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml?query=branch%3Amain"><img src="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml/badge.svg?event=push"></a>


The Zephyr Project is a scalable real-time operating system (RTOS) supporting
multiple hardware architectures, optimized for resource constrained devices,
and built with security in mind.

The Zephyr OS is based on a small-footprint kernel designed for use on
resource-constrained systems: from simple embedded environmental sensors and
LED wearables to sophisticated smart watches and IoT wireless gateways.

The Zephyr kernel supports multiple architectures, including ARM (Cortex-A,
Cortex-R, Cortex-M), Intel x86, ARC, Nios II, Tensilica Xtensa, and RISC-V,
SPARC, MIPS, and a large number of `supported boards`_.

.. below included in doc/introduction/introduction.rst


Getting Started
***************

Welcome to Zephyr! See the `Introduction to Zephyr`_ for a high-level overview,
and the documentation's `Getting Started Guide`_ to start developing.

.. start_include_here

Community Support
*****************

Community support is provided via mailing lists and Discord; see the Resources
below for details.

.. _project-resources:

Resources
*********

Here's a quick summary of resources to help you find your way around:

Getting Started
---------------

  | 📖 `Zephyr Documentation`_
  | 🚀 `Getting Started Guide`_
  | 🙋🏽 `Tips when asking for help`_
  | 💻 `Code samples`_

Code and Development
--------------------

  | 🌐 `Source Code Repository`_
  | 📦 `Releases`_
  | 🤝 `Contribution Guide`_

Community and Support
---------------------

  | 💬 `Discord Server`_ for real-time community discussions
  | 📧 `User mailing list (users@lists.zephyrproject.org)`_
  | 📧 `Developer mailing list (devel@lists.zephyrproject.org)`_
  | 📬 `Other project mailing lists`_
  | 📚 `Project Wiki`_

Issue Tracking and Security
---------------------------

  | 🐛 `GitHub Issues`_
  | 🔒 `Security documentation`_
  | 🛡️ `Security Advisories Repository`_
  | ⚠️ Report security vulnerabilities at vulnerabilities@zephyrproject.org

Additional Resources
--------------------
  | 🌐 `Zephyr Project Website`_
  | 📺 `Zephyr Tech Talks`_

.. _Zephyr Project Website: https://www.zephyrproject.org
.. _Discord Server: https://chat.zephyrproject.org
.. _supported boards: https://docs.zephyrproject.org/latest/boards/index.html
.. _Zephyr Documentation: https://docs.zephyrproject.org
.. _Introduction to Zephyr: https://docs.zephyrproject.org/latest/introduction/index.html
.. _Getting Started Guide: https://docs.zephyrproject.org/latest/develop/getting_started/index.html
.. _Contribution Guide: https://docs.zephyrproject.org/latest/contribute/index.html
.. _Source Code Repository: https://github.com/zephyrproject-rtos/zephyr
.. _GitHub Issues: https://github.com/zephyrproject-rtos/zephyr/issues
.. _Releases: https://github.com/zephyrproject-rtos/zephyr/releases
.. _Project Wiki: https://github.com/zephyrproject-rtos/zephyr/wiki
.. _User mailing list (users@lists.zephyrproject.org): https://lists.zephyrproject.org/g/users
.. _Developer mailing list (devel@lists.zephyrproject.org): https://lists.zephyrproject.org/g/devel
.. _Other project mailing lists: https://lists.zephyrproject.org/g/main/subgroups
.. _Code samples: https://docs.zephyrproject.org/latest/samples/index.html
.. _Security documentation: https://docs.zephyrproject.org/latest/security/index.html
.. _Security Advisories Repository: https://github.com/zephyrproject-rtos/zephyr/security
.. _Tips when asking for help: https://docs.zephyrproject.org/latest/develop/getting_started/index.html#asking-for-help
.. _Zephyr Tech Talks: https://www.zephyrproject.org/tech-talks