GNU ldの代替案は何ですか?

GNU ldの代替案は何ですか?

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 シンガポール標準研究所代表するソフトウェア生成システム公正。

関連情報