
GNUツールチェーン(gcc + autotools)なしでLinuxカーネルを構築することが可能かどうか疑問に思います。
私はこれが可能であることを知りました:パッチを適用した後llvm.linuxfoundation.org、clangを使用してLinuxカーネルを構築できます。 GNU リンカーが使用されます。
その代わりはGNU binutilsの一部でもld
あります。gold
人気のあるmusl + clangツールチェーンELLCCもGNU binutilsを使用しています。
より多くのオプションがあります:(lld
安定バージョンなし)、mclinker
(安定バージョンなし)。
GNU binutilsに代わるものはありますか?おそらく、Mac OS XまたはFreeBSDで構築するためにGNUツールは必要ないかもしれません。
答え1
2018年基準でlld
生産に使用できるほど成熟しているようで、100%互換ではありませんが、bfd
ほとんどの場合、ドロップイン交換として使用できます。
アップデート:最近、新しいリンカーが登場し、活発に開発中ですmold
。
答え2
UNIXリンカはソースコード(CDDLの下)で無料で利用できます。ソースコードはOpenSolarisプロジェクトに付属しています。
いくつかの欠陥やバグのため、GNUリンカはSolarisのUNIX ldに代わるものではありません。一方、Linux へのリンクは gld 偏差 (たとえば、他のコマンドラインオプションや互換性のないマップファイルの実装) によって異なります。
次のようにOpenSolarisソースコードを確認できます。http://schillix.sourceforge.net
リンカーソースは次の場所にあります。usr/src/cmd/sgs
シンガポール標準研究所代表するソフトウェア生成システム公正。