picolibc
newlibとAVR Libcを継ぎ合わせて作られた、マイコン向けの小さなCライブラリ。より軽く、より現代的であることを目指す。
X Window Systemでの仕事で知られるKeith Packardが、2019年に始めた。newlibの数学関数と文字列関数を引き継ぎ、stdioはAVR Libcに由来するコンパクトな実装に置き換えた。ライセンス上やっかいなコードは取り除かれ、全体がBSD系の条件で配布されている。
newlibとの技術的な最大の違いは、状態の持ち方にある。newlibは errno などのスレッドごとのデータを大きな再入構造体にまとめるが、picolibcはスレッドローカルストレージを使う。小さく済み、RTOS上でも正しく扱いやすい。2023年からZephyrの標準Cライブラリで、複数のクロスコンパイラ配布物でも選択肢として提供されている。半田ごてを持ち替えるのと同じ頻度でツールが入れ替わる業界にしては、順調な出世だ。