构建跨 gcc 和跨 glibc 的引导技术是什么?

构建跨 gcc 和跨 glibc 的引导技术是什么?

一些从头开始构建 Linux 的教程首先会构建交叉编译器工具链。他们通过调用所谓的引导技术来做到这一点。

首先,他们静态构建跨 gcc,然后用这个静态跨 gcc 构建跨 glibc 库,然后构建最终的跨 gcc 版本,它将目标的所有编译程序链接到这个跨 glibc 库。

问题来了,为什么呢?为什么不直接使用主机系统 gcc 构建 cross-gcc 和 cross-glibc?此步骤是否也仅与 gcc/glibc 相关?还有其他 Linux 程序有这样的来回故事吗?为什么 binutils 没有这个问题?

相关内容