Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add picolibc #602

Merged
merged 4 commits into from
Nov 25, 2022
Merged

Add picolibc #602

merged 4 commits into from
Nov 25, 2022

Conversation

keith-packard
Copy link
Collaborator

This adds picolibc as a module and builds it for all SDK architectures. To make the resulting files smaller than 2GB, the compression algorithm for Windows is switched to 7z while the Linux files use .tar.xz.

Picolibc is pulled at a point which has not yet been released upstream, but I expect to do that soon. Do you want to use a released version of picolibc for the Zephyr SDK?

stephanosio and others added 4 commits November 23, 2022 10:44
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 #567.

Signed-off-by: Stephanos Ioannidis <[email protected]>
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 #567.

Signed-off-by: Stephanos Ioannidis <[email protected]>
This includes picolibc 1.7.9 + Zephyr fixes, including enabling TLS
for all Zephyr architectures that support TLS

Signed-off-by: Keith Packard <[email protected]>
This builds both picolibc and libstdc++ with picolibc support using
the crosstool-ng support for those configurations.

Signed-off-by: Keith Packard <[email protected]>
@stephanosio stephanosio self-requested a review November 24, 2022 17:05
@stephanosio
Copy link
Member

Picolibc is pulled at a point which has not yet been released upstream, but I expect to do that soon. Do you want to use a released version of picolibc for the Zephyr SDK?

Nope, that is fine as long as it works. We will have a month or so until the SDK 0.16.0 release, so we can update the picolibc submodule during that time if any further changes are necessary.

@stephanosio stephanosio added area: Picolibc Issues related to Picolibc area: GCC Issues related to GCC (GNU Compiler Collection) labels Nov 24, 2022
@stephanosio stephanosio merged commit c8e0448 into main Nov 25, 2022
@stephanosio stephanosio deleted the topic-picolibc branch November 25, 2022 11:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: GCC Issues related to GCC (GNU Compiler Collection) area: Picolibc Issues related to Picolibc
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants