Go to file
Stephanos Ioannidis 82a902e5ea lib: newlib: Define _ANSI_SOURCE
This commit updates the Newlib integration to define `_ANSI_SOURCE`
in order to prevent Newlib from defining POSIX primitives in its
headers when GNU dialect is used (`-std=gnu*`).

Newlib `features.h` defines `_DEFAULT_SOURCE` when `__STRICT_ANSI__`
is not defined by GCC (i.e. when `-std=gnu*`), which results in the
Newlib headers defining POSIX primitives that are in conflict with the
POSIX primitives defined by Zephyr.

Newlib must not define POSIX primitives unless the feature test macros
such as `_POSIX_SOURCE`, `_GNU_SOURCE` and `_DEFAULT_SOURCE` are
explicitly defined.

Note that `-std=gnu` does not imply `_GNU_SOURCE` or `_DEFAULT_SOURCE`
because it is only supposed to instruct the compiler to use the GNU C
language dialect (i.e. GNU C language extensions).

Refer to the GitHub issue #52739 for more details.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2022-12-05 11:02:36 +01:00
.github github: workflows: compliance: Ensure no merge commits 2022-11-30 12:06:03 -05:00
arch arc: cache: Rework cache API 2022-12-01 13:40:56 -05:00
boards boards: arm: stm32h7b3i_dk: fix OSPI flash size 2022-12-02 11:28:46 +01:00
cmake usb-c: Generate USB-C connector VIF policies XML file 2022-12-02 08:46:04 -06:00
doc math: Introduce a DSP basicmath subsystem with a cmsis backend 2022-12-02 20:15:55 +01:00
drivers drivers: regulator: support for regulator mode APIs in regulator shell 2022-12-04 19:56:34 +01:00
dts soc: atmel_sam: add support for SAM E70 q19 parts 2022-12-04 19:23:33 +01:00
include/zephyr posix: getopt: move declarations to unistd.h 2022-12-04 14:51:52 +01:00
kernel kernel: events: add function to clear events 2022-12-02 09:50:42 -05:00
lib lib: newlib: Define _ANSI_SOURCE 2022-12-05 11:02:36 +01:00
misc misc: generated: update configs.c template with <zephyr/...> prefix 2022-05-09 12:45:29 -04:00
modules math: Introduce a DSP basicmath subsystem with a cmsis backend 2022-12-02 20:15:55 +01:00
samples posix: getopt: move declarations to unistd.h 2022-12-04 14:51:52 +01:00
scripts usb-c: Generate USB-C connector VIF policies XML file 2022-12-02 08:46:04 -06:00
share cmake: sysbuild: Add support for recurive target cmake inclusion 2022-11-03 13:04:08 +01:00
soc soc: expand ifdef by adding new Kconfig option UDC_KINETIS 2022-12-02 12:55:18 +01:00
submanifests
subsys settings: fcb: remove unnecessary drop of const identifier 2022-12-05 11:00:57 +01:00
tests posix: getopt: move declarations to unistd.h 2022-12-04 14:51:52 +01:00
.checkpatch.conf checkpatch: Remove ext/ from excludes 2022-11-30 12:06:55 -05:00
.clang-format clang-format: remove space before colon 2022-11-16 12:14:58 +00:00
.codecov.yml
.editorconfig editorconfig: Improve verbosity 2022-04-28 08:55:39 -04:00
.gitattributes
.gitignore scripts: compliance: Use consistent naming convention 2022-11-21 11:02:39 -05:00
.gitlint
.mailmap
CMakeLists.txt usb-c: Generate USB-C connector VIF policies XML file 2022-12-02 08:46:04 -06:00
CODE_OF_CONDUCT.md
CODEOWNERS math: Introduce a DSP basicmath subsystem with a cmsis backend 2022-12-02 20:15:55 +01:00
CONTRIBUTING.rst
Kconfig
Kconfig.zephyr cmake: Allow selection of libc API overflow detection mode 2022-10-31 23:23:27 +09:00
LICENSE
MAINTAINERS.yml math: Introduce a DSP basicmath subsystem with a cmsis backend 2022-12-02 20:15:55 +01:00
README.rst readme: Add support for light/dark modes in the logo 2022-11-18 08:58:59 +01:00
VERSION VERSION: bump to 3.2.99 2022-09-30 13:06:22 -05:00
version.h.in
west.yml math: Introduce a DSP basicmath subsystem with a cmsis backend 2022-12-02 20:15:55 +01:00
zephyr-env.cmd
zephyr-env.sh everywhere: fix typos 2022-03-18 13:24:08 -04:00

.. 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://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:

* **Help**: `Asking for Help Tips`_
* **Documentation**: http://docs.zephyrproject.org (`Getting Started Guide`_)
* **Source Code**: https://github.com/zephyrproject-rtos/zephyr is the main
  repository; https://elixir.bootlin.com/zephyr/latest/source contains a
  searchable index
* **Releases**: https://github.com/zephyrproject-rtos/zephyr/releases
* **Samples and example code**: see `Sample and Demo Code Examples`_
* **Mailing Lists**: users@lists.zephyrproject.org and
  devel@lists.zephyrproject.org are the main user and developer mailing lists,
  respectively. You can join the developer's list and search its archives at
  `Zephyr Development mailing list`_. The other `Zephyr mailing list
  subgroups`_ have their own archives and sign-up pages.
* **Nightly CI Build Status**: https://lists.zephyrproject.org/g/builds
  The builds@lists.zephyrproject.org mailing list archives the CI nightly build results.
* **Chat**: Real-time chat happens in Zephyr's Discord Server. Use
  this `Discord Invite`_ to register.
* **Contributing**: see the `Contribution Guide`_
* **Wiki**: `Zephyr GitHub wiki`_
* **Issues**: https://github.com/zephyrproject-rtos/zephyr/issues
* **Security Issues**: Email vulnerabilities@zephyrproject.org to report
  security issues; also see our `Security`_ documentation. Security issues are
  tracked separately at https://zephyrprojectsec.atlassian.net.
* **Zephyr Project Website**: https://zephyrproject.org

.. _Discord Invite: https://chat.zephyrproject.org
.. _supported boards: http://docs.zephyrproject.org/latest/boards/index.html
.. _Zephyr Documentation: http://docs.zephyrproject.org
.. _Introduction to Zephyr: http://docs.zephyrproject.org/latest/introduction/index.html
.. _Getting Started Guide: http://docs.zephyrproject.org/latest/develop/getting_started/index.html
.. _Contribution Guide: http://docs.zephyrproject.org/latest/contribute/index.html
.. _Zephyr GitHub wiki: https://github.com/zephyrproject-rtos/zephyr/wiki
.. _Zephyr Development mailing list: https://lists.zephyrproject.org/g/devel
.. _Zephyr mailing list subgroups: https://lists.zephyrproject.org/g/main/subgroups
.. _Sample and Demo Code Examples: http://docs.zephyrproject.org/latest/samples/index.html
.. _Security: http://docs.zephyrproject.org/latest/security/index.html
.. _Asking for Help Tips: https://docs.zephyrproject.org/latest/develop/getting_started/index.html#asking-for-help