如果缺少符号,请使用 ld -r 并获取编译错误

Use `ld -r` and get compilation errors if symbols are missing

我最近开始使用 a new ELF loader。加载程序要求您 link 您的应用程序 ld -r.

问题是 GCC 不再警告我未定义的函数,然后加载器(显然)找不到它们。

我如何 link 与 ld -r,并获得未定义的符号方法。

我正在使用 ld -r 进行搬迁,因此包含搬迁的其他方式也适用于我。

在您的 makefile 中,定义一个中间目标,其中您 link 使用所有选项 -r 到临时目录中的文件(所以你确定不要使用它)。

如果此阶段成功,则使用 -r 选项进入真正的 link。