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

Integrate standard libc #48

Open
Ivan-Velickovic opened this issue Apr 16, 2024 · 2 comments
Open

Integrate standard libc #48

Ivan-Velickovic opened this issue Apr 16, 2024 · 2 comments

Comments

@Ivan-Velickovic
Copy link
Collaborator

Right now the Kitty example uses both musllibc for POSIX operations libnfs needs as well as newlib for MicroPython's required libc functionality. This is messy and less than ideal.

The current plan is to remove musllibc and instead create a configurable libc that has default functionality and can be extended with certain POSIX functionality such as write, read, etc.

This work is currently on-going and is based on the picolibc project.

@ingenieroariel
Copy link

Have you considered Cosmopolitan Libc? If you do, you may get a very portable Lua/Perl/Python ecosystem on top and very fast builds.

v3.3 is performance oriented and very well tested with native support for aarch64 and x86_64. https://justine.lol/cosmo3/

If this is interesting to you, several contributors are in the Redbean Discord and a fewhave been keeping tabs on sel4 development over the years. We would be to help and many of us use Kitty as the daily driver.

https://discord.gg/cu8RYvP7bm

@Ivan-Velickovic
Copy link
Collaborator Author

I haven't heard of Cosmopolitan libc. Based on a quick glance at the page you link, I don't think it's quite trying to do what we want.

I didn't explain clearly in the issue but what we want is a libc that is easily configurable depending on the design of a system. For example, some client programs may be allowed access to the network, and hence may require the POSIX/libc socket API. The same goes for things like file systems/block devices, or something as simple as a serial connection. In LionsOS, there won't be a single libc that works for everyone, which means I don't think Cosmopolitan libc would fit our needs since it seems to be trying to make one libc for everyone across OS/architecture. Will have to look into the project more though.

Universal binaries are not something I think we want right now but it could be something we look into later.

keeping tabs on sel4 development over the years. We would be to help and many of us use Kitty as the daily driver.

Sorry, could you explain what you mean by "use Kitty as the daily driver"?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants