-
Notifications
You must be signed in to change notification settings - Fork 6.7k
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
Make newlib libc the default c library #3102
Comments
by Mark Linkmeyer: Hi Kumar Gala , I see you were assigned this high-priority story yesterday. Just a reminder that per our defined Release Criteria, the goal is to have all high-priority stories in Code Review by next week's M2 milestone. |
by Anas Nashif: The whole discussion around this jira can be found here: https://lists.zephyrproject.org/pipermail/zephyr-devel/2017-January/007017.html |
by Kumar Gala: Made changes to base types to use u{8,16,32,64}_t and s{8,16,32,64}_t, but need to resolve issues when external libs that use C99 types. |
by Nirmala Devi M: Hi Anas Nashif , Can you please provide us with little more information on this jira. Do we need to add any new test case to test this feature? If so can you provide some information. |
by Mark Linkmeyer: Anas Nashif , please see Nirmala Devi M 's question to you above. |
Making newlib the default library leads to various concerns, see e.g. #5822 and #5570 (review) . Instead of making newlib the default, we could concentrate on supporting 2 polar configuration (well, we could support more, but that's the burden of development and maintenance, and usually application optimize for one or another thing either):
|
E.g. #5854 (comment) :
|
Regarding newlib as default library. The problem is that newlib in some default preconfigured/compiled form is included with toolchain (as ABI dependency). That default configuration should not be sufficient because: So I suggest that newlib should be preconfigured/precompiled for Zephyr projects that want to use it, which means: 1.) Implement various newlib hooks aka struct _reent *_getreent(); using thread local impure_ptr. |
I've already done something similar for company's RTOS using cmake's ExternalProject_Add. I end up with something like this for gcc: execute_process( get_filename_component(GCC_LIB_FILE ${GCC_LIB_FILE} ABSOLUTE) link_directories(${NEWLIB_LINK_DIR}) |
not going to happen |
Reported by Anas Nashif:
Set zephyr to build with newlib by default, not minimal libc.
See https://lists.zephyrproject.org/pipermail/zephyr-devel/2017-January/007017.html and the tread started with this message.
(Imported from Jira ZEP-1646)
The text was updated successfully, but these errors were encountered: