This commit renames the `TOOLCHAIN_ZEPHYR_0_15` Kconfig symbol to
`TOOLCHAIN_ZEPHYR_0_16` in preparation for the Zephyr SDK 0.16.0
release.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This commit pulls in the crosstool-ng commit that updates the libexpat
version from 2.4.1 to 2.5.0 because the 2.4.1 has known security
issues.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This fix allows building the x86_64-zephyr-elf toolchain on non-x86
targets.
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
Both intel_bdw and intel_byt are not being used in upstream
Zephyr project. So there is no need to build them.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This commit adds the test environment for the AArch64 macOS toolchains
and host tools using the ARM64 macOS zephyr-runner.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the CI workflow distribution bundle test job to
create a Python virtual environment and install the Python packages
required by the checked out Zephyr codebase in it.
Installing the Python packages in a virtual environment provides a
complete isolation from the runner host environment and prevents any
potential version incompatibilities and conflicts with the pre-
installed packages in the runner.
Note that Python virtual environment is not used for Linux because the
Linux build environment uses the CI Docker image that already has all
the required dependencies pre-installed.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the CI workflow to test the `macos-x86_64`
distribution bundle using the x86-64 macOS zephyr-runner.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the CI workflow to build the AArch64 and x86-64
host macOS toolchains on the AArch64 runners instead of the x86-64
runners.
This is in preparation of migrating from the existing Intel-based Mac
Mini runners to the new Apple Silicon-based M1 Mac Mini runners.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the CI workflow test job to use the Zephyr CI
Docker image (`docker-image`) on the Linux hosts mainly because many
PyPI packages do not provide the ARM64 Linux wheels and need to be
compiled during installation.
It also removes the environment setup steps that are no longer
necessary because the required components are already provided as part
of the CI Docker image.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit adds the test environment for the AArch64 Linux toolchains
and host tools using the ARM64 zephyr-runner.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the CI workflow to test the `linux-x86_64`
distribution bundle using the x86-64 zephyr-runner.
It also adds the installation steps for the missing packages that are
not installed by default on the zephyr-runner.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the CI workflow to build the linux-aarch64
toolchains and host tools natively on the ARM64 zephyr-runner in order
to reduce build time and any complexities related to cross compilation.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This builds both picolibc and libstdc++ with picolibc support using
the crosstool-ng support for those configurations.
Signed-off-by: Keith Packard <keithp@keithp.com>
This includes picolibc 1.7.9 + Zephyr fixes, including enabling TLS
for all Zephyr architectures that support TLS
Signed-off-by: Keith Packard <keithp@keithp.com>
This commit updates the CI workflow to output .7z archives for the
Windows build artifacts.
The 7z format uses the LZMA compression algorithm, which offers
significantly improved data compression ratio.
The `-l` option is used such that symbolic links are stored as copies
of the linked files because Windows requires administrator privileges
to create symbolic links.
Note that 7z performs multi-threaded compression by default.
For more details, refer to the issue zephyrproject-rtos/sdk-ng#567.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the CI workflow to output .tar.xz archives for the
Linux and macOS build artifacts.
The XZ format uses the LZMA compression algorithm, which offers
significantly improved data compression ratio.
Note that the `-T0` XZ option is used to perform multi-threaded
compression in spite of reduced compression ratio; otherwise,
compressing the distribution bundle may take tens of minutes to
complete.
For more details, refer to the issue zephyrproject-rtos/sdk-ng#567.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit pulls in the following crosstool-ng patches that:
* change the primary source code mirror from SourceForge to GitHub
because the SourceForge mirror is broken.
* update the zlib version to 1.2.13 because the GitHub releases only
include the zlib versions above 1.2.13.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit converts all deprecated `set-output` command usages to use
the new `GITHUB_OUTPUT` file.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the version of the actions used in the CI workflow
to prevent the Node 12 deprecation warnings.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
The commit 05f6047344 moved the toolchain
list from the setup script itself to an external file
(`sdk_toolchains`).
This change also introduced a delimiter change from 'SPACE' to 'LF'
that broke the regular expression used by the toolchain (`-t`) flag
handler, which assumes the 'SPACE' delimiter.
This commit reworks the setup script to convert the 'LF' delimiter to
'SPACE' after loading the toolchain list from `sdk_toolchains` to fix
this issue.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
Make sure everything is built with the correct TLS configuration.
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit pulls in the GCC commit that makes the long double math
function support in the libstdc++ <cmath> header an optional feature
such that the C99 math functions are available in the header when
libstdc++ is compiled with a C library that does not provide the long
double math functions (e.g. newlib).
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
The Linux host tools for Zephyr SDK are packaged using the Yocto
nativesdk recipe and its installer may print out the messages that can
be potentially misleading to the Zephyr SDK users, who do not need to
understand the internals of the Zephyr SDK host tools integration.
This commit updates the setup script to suppress any console outputs
from the Yocto nativesdk installer script.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit pulls in the Zephyr Poky commit that fixes the host tools
build on the AArch64 host.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
By disabling compiler support, we can ensure that nothing else
will end up using something that the OS cannot support.
Signed-off-by: Keith Packard <keithp@keithp.com>
From Zephyr arch/arm64/core/CMakeLists.txt:
GCC may generate ldp/stp instructions with the Advanced SIMD Qn registers for
consecutive 32-byte loads and stores. Saving and restoring the Advanced SIMD
context is very expensive, and it is preferable to keep it turned off by not
emitting these instructions for better context switching performance.
Also, if these instructions happen from an ISR, they will trap and
appear to leave interrupts disabled afterwards. That bug should be fixed.
Signed-off-by: Keith Packard <keithp@keithp.com>
This commit pulls in the Poky commit that downgrades the glibc version
to 2.27 in order to ensure that the nativesdk binaries are compatible
with older Linux distros.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the POSIX setup script to use `linux*` instead of
`linux-gnu*` to detect the Linux host OS type because some distros may
omit the `-gnu` part.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the CI workflow to allow running the workflow in
the branches prefixed with `topic-` (i.e. topic branches).
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
`!` must be used instead of `%` inside a loop when referencing a
variable that is changed within the loop.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the CI workflow to shorten the distribution bundle
path on Windows for testing because the full path can be too long for
some architectures and may cause build failures.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the CI workflow to output a toolchain list file
(`sdk_toolchains`) while building a distribution bundle and updates the
distribution bundle setup scripts to use it instead of a hard-coded
one.
This allows partial distribution bundle builds without all the
supported toolchains to be properly handled by the distribution bundle
setup script.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the CI workflow to reduce the number of subsets
for running twister tests from 5 to 2 because:
1. There is a lot of overhead in setting up the test environment
compared to the actual test run time (e.g. it takes 10 minutes
for set-up and 5 minutes for test run per subset in case of Linux).
2. Windows, the slowest platform, runner has been updated to a more
powerful 8-core machine.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the CI workflow to use a larger 8-core runner for
testing Zephyr SDK distribution bundle on Windows.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>