標準CライブラリPicoLibc 1.4.7のリリース

Keith Packard 氏は、現役の Debian 開発者であり、X.Org プロジェクトのリーダーであり、XRender、XComposite、XRandR を含む多くの X 拡張機能の作成者です。 опубликовал 標準Cライブラリのリリース ピコリビック 1.4.7、限られた量の永続ストレージと RAM を備えた組み込みデバイスで使用するために開発されました。 開発中にコードの一部をライブラリから借用しました 新しいライブラリ Cygwin プロジェクトからの AVR ライブラリ、Atmel AVR マイクロコントローラー用に開発されました。 PicoLibc コード によって配布 BSD ライセンスに基づいて。 ライブラリ アセンブリは、ARM (32 ビット)、i386、RISC-V、x86_64、および PowerPC アーキテクチャでサポートされています。

当初、このプロジェクトは「newlib-nano」という名前で開発され、RAM が少ない組み込みデバイスで使用するには問題があった Newlib のリソースを大量に消費する機能の一部を作り直すことを目的としていました。 たとえば、stdio 関数は、avrlibc ライブラリのコンパクト バージョンに置き換えられました。 コードからは、組み込みビルドで使用されていない BSD ライセンスのコンポーネントも削除されています。 初期化コード (crt0) の簡易バージョンが追加され、ローカル スレッドの実装が「struct _reent」から TLS メカニズムに移動されました (スレッドローカルストレージ)。 組み立てには Meson ツールキットが使用されます。

新しいリリースでは:

  • を使用して構築する機能を追加しました 数学的に検証された コンパイラ コンプサート.
  • Clang コンパイラのサポートが追加されました。
  • 「ガンマ」関数の動作は、Glibc の動作と一致しています。
  • nano-malloc の実装により、返されたメモリは確実にクリアされます。
  • 特に空きブロックをマージしてヒープ サイズを拡張する場合の nano-realloc のパフォーマンスが向上しました。
  • malloc の正しい動作を確認するための一連のテストを追加しました。
  • Windows プラットフォームのサポートが改善され、mingw ツールキットを使用してビルドする機能が追加されました。
  • ARM システムでは、TLS (Thread-Local Storage) ハードウェア レジスタが利用可能な場合は有効になります。

出所: オープンネット.ru