Skip to content
picolibc (formerly newlib-nano)
C Assembly C++ Meson Perl TeX Other
Branch: master
Clone or download
Pull request Compare This branch is 246 commits ahead, 103 commits behind mirror:master.
keith-packard Expose struct __file_close in public API
This struct is used by fclose when the __SCLOSE bit is set; applications
may well want to use that feature.

Signed-off-by: Keith Packard <keithp@keithp.com>
Latest commit d87e3dc Oct 9, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc Fix links to init.md Sep 22, 2019
newlib Expose struct __file_close in public API Oct 9, 2019
picocrt Make _start on riscv be a 'bare' function Sep 29, 2019
test Add posix file I/O test case Oct 9, 2019
.drone.yml Continuous Integration: Add Tea CI build configuration. Jun 28, 2016
.gitattributes Add .gitattributes Mar 9, 2015
.gitignore Ignore meson build directories Jul 22, 2019
CODE_OF_CONDUCT.md Add contributing and code_of_conduct docs Sep 23, 2019
CONTRIBUTING.md Add contributing and code_of_conduct docs Sep 23, 2019
COPYING 2005-07-14 Kelley Cook <kcook@gcc.gnu.org> Jul 14, 2005
COPYING.LIB Sync toplevel with upstream GCC. Mar 22, 2016
COPYING.NEWLIB AMD GCN Port contributed by Andrew Stubbs <ams@codesourcery.com> Jan 15, 2019
COPYING3 * COPYING3: New file. Contains version 3 of the GNU General Public Li… Jul 17, 2007
COPYING3.LIB * COPYING3: New file. Contains version 3 of the GNU General Public Li… Jul 17, 2007
MAINTAINERS MAINTAINERS: clarify policy with config/ (and other top level files) May 12, 2012
README 19990502 sourceware import May 3, 1999
README-maintainer-mode Cleanups after the update to Autoconf 2.64, Automake 1.11. Aug 22, 2009
README.md Add supported architecture info to README.md Oct 8, 2019
cross-arm-none-eabi.txt Provide more complete cross compiler configurations Sep 26, 2019
cross-i386-linux-gnu.txt Provide more complete cross compiler configurations Sep 26, 2019
cross-riscv64-unknown-elf.txt
cross.tmpl meson: Create meson build infrastructure for newlib Sep 22, 2018
do-arm-configure Set -Dtls-model in sample configure scripts Sep 18, 2019
do-big-configure Make big config and native config more useful Sep 22, 2019
do-native-configure Add posix I/O to tinystdio. Oct 9, 2019
do-riscv-configure Set -Dtls-model in sample configure scripts Sep 18, 2019
do-tiny-configure Add more sample configs Sep 4, 2019
do-x86-configure Add posix I/O to tinystdio. Oct 9, 2019
make-target meson: Create meson build infrastructure for newlib Sep 22, 2018
meson.build Add posix I/O to tinystdio. Oct 9, 2019
meson_options.txt Add posix I/O to tinystdio. Oct 9, 2019
picolibc.ld Clean up picolibc.ld Sep 26, 2019
picolibc.specs.in Add @LIBDIR@ to linker search in picolibc.specs Sep 24, 2019

README.md

PicoLibc

Copyright © 2018,2019 Keith Packard

PicoLibc is library offering standard C library APIs that targets small embedded systems with limited RAM. PicoLibc was formed by blending code from Newlib and AVR Libc.

License

Picolibc source comes from a variety of places and has a huge variety of copyright holders and license texts. While much of the code comes from newlib, none of the GPL-related bits are left in the repository, so all of the source code uses BSD-like licenses, a mixture of 2- and 3- clause BSD itself and a variety of other (mostly older) licenses with similar terms.

Supported Architectures

Picolibc inherited code for a lot of architectures from newlib, but at this point only has code to build for the following targets:

  • ARM (32-bit only)
  • i386 (Linux hosted, for testing)
  • RISC-V (both 32- and 64- bit)
  • x86_64 (Linux hosted, for testing)

Supporting architectures that already have newlib code requires:

  1. newlib/libc/machine/architecture/meson.build to build any architecture-specific libc bits
  2. newlib/libm/machine/architecture/meson.build to build any architecture-specific libm bits
  3. picocrt/machine/architecture source code and build bits if you need custom startup code for the architecture.
  4. cross-gcc-triple.txt to configure the meson cross-compilation mechanism to use the right tools
  5. do-architecture-configure to make testing the cross-compilation setup easier.

Documentation

You can’t perform that action at this time.