Picolibc: C library designed for embedded 32- and 64- bit systems
github.com
github.com
Seriously though: Making your fork "unhooked" from its parent is not very difficult, it only takes one support request and they usually get back to you within the week.
Independently of that, yes, search should find forks too.
For me it was discoverable via the fourth and tenth results.
picolibc
1. 005 https://github.com/mtottenh/picolibc
2. 005 https://github.com/litex-hub/pythondata-software-picolibc
3. 005 https://github.com/AshlingMicrosystems/picolibc
4. 005 https://github.com/ft/zephyr-picolibc
5. 005 https://github.com/keith-packard/picolibc-ci
6. 005 https://github.com/modm-ext/picolibc-partial
7. 005 https://github.com/philpem/picolibc-docker-arm
8. 005 https://github.com/antmicro/pythondata-software-picolibc
9. 005 https://github.com/likewise/riscv-picolibc-docker
10. 005 https://github.com/picolibc/pico-hello
11. 005 https://github.com/libhal/gcc-arm-none-eabi-picolibc
12. 005 https://github.com/keith-packard/simple-mps
13. 005 https://github.com/picolibc/simple-mps
14. 005 https://github.com/swiftgeek/stm32f103-demo
I search Github from the command line, with no Javascript or cookies. To understand relationships between projects that are returned as results, I always go up a level to the user pages from the project pages, e.g., I looked at https://github.com/ft?tab=repositories&type=source and https://github.com/picolisp?tab=repositories&type=sourcePicolibc – Libc for Embedded Systems - https://news.ycombinator.com/item?id=21150678 - Oct 2019 (41 comments)
Now, that is a name.
Can this library be used as a replacement for glibc ?
> Now, that is a name.
A name and a whole lot of history
> Can this library be used as a replacement for glibc ?
glibc doesn't generally do well on "smaller embedded systems with limited ROM and RAM", but ymmv, depends on what "small" means for you
No. This is designed to run on bare-metal. It's rather a replacement for newlib.
https://keithp.com/blogs/embedded-arm-libc/ https://keithp.com/blogs/picolibc/ https://keithp.com/blogs/tags/picolibc/
IIRC they do a lot of stuff with amateur rocketry, so it might related to that.
I'm writing embedded bare-metal 64-bit arm code at work right now. That is because the product needs less than 300ms boot times from power on and needs to be fast enough to do image compression (AVIF) in a reasonable time. Just using Linux and suspend would eat too much battery from the power budget. It has to have 1 year of battery life like previous generation of that same product.
i.MX RT1170 with its 1Ghz 32Bit Cortex-M7 core was not fast enough so we had to jump up to much faster 64bit Cortex-A53 core.
I'm not sure what your alternative is to stateful runtimes and I'm very curious what such a thing would look like beyond the reentrant APIs already in most libcs. Even Go and Haskell use stateful runtimes above the OS e.g. allocators/GC.
> Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.