linux - 如何使用自定义链接描述文件编译 ld?

标签 linux linker ld linker-scripts linux-from-scratch

我正在尝试构建 Linux 内核 3.8 的自定义版本,我希望我的链接器的行为有点不同,所以我更改了它的 ldscripts。 具体来说,我配置 binutils -> make -> 更改 ldscripts -> make install。 然而,当我尝试使用我的链接器编译 libc 时,我唯一看到的是:

GNU ld (GNU Binutils) 2.23
  Supported emulations:
   elf32_sparc
   sparclinux
   elf64_sparc
   sun4
using internal linker script:
==================================================
/* Script for --shared -z combreloc: shared library, combine & sort relocs */

等等

问题是我已经更改了我的 ldscripts 并在每个脚本的开头添加了一个标签以便识别它们,但我的编译器似乎并不关心。 但是我的系统中没有任何其他 elf 脚本,所以搜索错误的库路径的选项实际上不是一个选项。

我在这里遗漏了什么吗?

注意我正在为 sparc 进行交叉编译

最佳答案

您可以将自定义链接描述文件传递给 ld:

ld -T <path/to/file> ...

gcc:

gcc -Wl,-T,<path/tofile> ...

关于linux - 如何使用自定义链接描述文件编译 ld?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19931935/

相关文章:

python - 按值对字典排序

java - Java应用程序中的线程处理

linux - tr 相当于 Linux 命令来替换字符串而不编辑文件

c - 链接代码::阻止自定义库错误(找不到)

c++ - 与 Boost 错误链接

Linux共享库全局构造函数相互依赖

linux -/usr/bin/ld : client: hidden symbol `__dso_handle'

linux - 如何在 Centos 6.2 中找回错放的文件

c - Glib 链接错误 : undefined reference to

GCC 链接器 - 指定存档文件中包含的代码的输出部分