Skip to content

Add Zephyr-specific target for toolchain components #350

@stephanosio

Description

@stephanosio

Proposal

The Zephyr SDK toolchain components are currently built targeting the generic bare metal target (i.e. arm-*-eabi for AArch32 and (arch)-*-elf for the rest).

The generic bare metal target, as its name suggests, lacks proper OS-specific customisation and is therefore very limited in its capability to support the features that require close integration with the target operating system (e.g. synchronisation primitives, reentrancy, support for the standard library functions that require OS-specific implementation).

Here I propose to add the Zephyr RTOS-specific targets named (arch)-*-zephyr for the purpose of supporting more advanced features that require close OS integration.

The SDK toolchain components of interest at this time are the following:

  • GNU Binutils
  • GNU Compiler Collection (GCC)
  • Newlib
  • GNU C++ Library (part of GCC; aka. libstdc++)

The primary goal of this is as follows:

Initially, this will be implemented by adding the component patches to the sdk-ng repository or the corresponding Zephyr fork repositories if they exist. Eventually, these patches will be upstreamed to the relevant upstream projects.

Progress

  • Add Zephyr RTOS targets to config.sub
  • Add Zephyr RTOS targets to GNU Binutils
  • Add Zephyr RTOS targets to GNU Compiler Collection (GCC) and C++ Library
    • Implemented
    • Merged into sdk-ng
    • Merged upstream
  • Add Zephyr RTOS targets to Newlib
    • Implemented
    • Merged into sdk-ng
    • Merged upstream

Metadata

Metadata

Assignees

Labels

MetaA collection of features, enhancements or bugsRFCarea: BinutilsIssues related to GNU Binutilsarea: GCCIssues related to GCC (GNU Compiler Collection)area: NewlibIssues related to Newlib (C Library)area: libstdc++Issues related to libstdc++ (GNU C++ Library)

Projects

Status

Todo

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions