-
Notifications
You must be signed in to change notification settings - Fork 6.5k
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
libc: Default to picolibc where supported #57340
libc: Default to picolibc where supported #57340
Conversation
@keith-packard labeling this as TSC since this requires a bit more discussion. |
3c3af68
to
ab53da0
Compare
ab53da0
to
7f476df
Compare
The following west manifest projects have been modified in this Pull Request:
Note: This message is automatically posted and updated by the Manifest GitHub Action. |
7f476df
to
ee8fe4f
Compare
One of the commit messages is:
Pull request 28 does not seem related. It's from 2017 :-) EDIT: got it, you meant Could you please share a link with more information about this change of the |
Sorry for the mis-leading link.
Yeah, this is only vaguely related to picolibc itself -- as a complete C library, it's best to compile applications using picolibc without the |
ee8fe4f
to
2c7f83e
Compare
As per #49922 (comment), this needs more documentation and process-related work before it can be approved by the TSC. I will look into that and create a new PR based on this with the necessary changes. |
2c7f83e
to
0e269c4
Compare
default NEWLIB_LIBC if REQUIRES_FULL_LIBC | ||
default PICOLIBC if REQUIRES_FULL_LIBC | ||
default MINIMAL_LIBC |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dont we end up with both picolibc and minimal libc set as default? or does order here play a role?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Kconfig appears to pick the first which matches and which can be enabled -- the goal is to use picolibc where supported otherwise use minimal C library.
@keith-packard, now that we have a migration guide, would you mind adding a note there? I assume under "Required changes", given that users may see their applications break depending on what they are using? |
#62261 has some possible things to check. I'm not sure how these should be integrated into the rest of the migration notes though. |
The tests `content_json` and `content_plain_test` depend on the float support of libc. After PR#zephyrproject-rtos#57340, Picolibc would be selected in these two tests and the `PICOLIBC_IO_FLOAT` won't be selected if the platform doesn't select `FPU`. This commit select `CONFIG_PICOLIBC` and `CONFIG_PICOLIBC_IO_FLOAT` for these two tests. Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
The tests `content_json` and `content_plain_test` depend on the float support of libc. After PR#zephyrproject-rtos#57340, Picolibc would be selected in these two tests and the `PICOLIBC_IO_FLOAT` won't be selected if the platform doesn't select `FPU`. This commit select `CONFIG_PICOLIBC` and `CONFIG_PICOLIBC_IO_FLOAT` for these two tests. Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
The tests `content_json` and `content_plain_test` depend on the float support of libc. After PR##57340, Picolibc would be selected in these two tests and the `PICOLIBC_IO_FLOAT` won't be selected if the platform doesn't select `FPU`. This commit select `CONFIG_PICOLIBC` and `CONFIG_PICOLIBC_IO_FLOAT` for these two tests. Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
The tests `content_json` and `content_plain_test` depend on the float support of libc. After PR#zephyrproject-rtos#57340, Picolibc would be selected in these two tests and the `PICOLIBC_IO_FLOAT` won't be selected if the platform doesn't select `FPU`. This commit select `CONFIG_PICOLIBC` and `CONFIG_PICOLIBC_IO_FLOAT` for these two tests. Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
The tests `content_json` and `content_plain_test` depend on the float support of libc. After PR#zephyrproject-rtos#57340, Picolibc would be selected in these two tests and the `PICOLIBC_IO_FLOAT` won't be selected if the platform doesn't select `FPU`. This commit select `CONFIG_PICOLIBC` and `CONFIG_PICOLIBC_IO_FLOAT` for these two tests. Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com> (cherry picked from commit 5a1a1fe) Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
The tests `content_json` and `content_plain_test` depend on the float support of libc. After PR#zephyrproject-rtos#57340, Picolibc would be selected in these two tests and the `PICOLIBC_IO_FLOAT` won't be selected if the platform doesn't select `FPU`. This commit select `CONFIG_PICOLIBC` and `CONFIG_PICOLIBC_IO_FLOAT` for these two tests. Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com> (cherry picked from commit 5a1a1fe) Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no> (cherry picked from commit fb04730)
This switches the default C library to picolibc for all targets which support it.
Closes #49922