Compiling

GNU ld 的替代品是什麼?

  • May 23, 2018

我很好奇是否可以在沒有 GNU 工具鏈(gcc+autotools)的情況下建構 Linux 核心。

我發現這是可能的:在應用llvm.linuxfoundation.org的更新檔後,可以使用 clang 建構 Linux 核心。使用了 GNU 連結器。

的替代方案ld也是goldGNU binutils 的一部分。流行的 musl+clang 工具鏈 ELLCC 也使用 GNU binutils。

還有更多選擇:(lld沒有穩定版本),mclinker(沒有穩定版本)。

是否存在 GNU binutils 的替代品?可能,在 Mac OS X 或 FreeBSD 上建構不涉及 GNU 工具。

截至 2018 年,lld似乎已經足夠成熟,可以在生產中使用,不是 100% 兼容bfd,但在大多數情況下可以用作替代品。

UNIX 連結器可以在原始碼中免費獲得(在 CDDL 下)。原始碼隨 OpenSolaris 項目一起提供。

由於一些缺陷和錯誤,GNU 連結器無法替代 Solaris 上的 UNIX ld。另一方面,Linux 上的連結可能取決於gld 偏差(例如,不同的命令行選項和不兼容的映射文件實現)。

您可能想查看 OpenSolaris 原始碼,例如http://schillix.sourceforge.net 連結器原始碼位於usr/src/cmd/sgs sgs代表軟體生成系統AFAIR。

引用自:https://unix.stackexchange.com/questions/231009