以下命令中“--format binary”选项的含义/用法是什么?。
ld -m elf_x86_64 --format binary --oformat elf64-x86-64 -r stub -o stub-image.o
答案 0 :(得分:0)
-format binary
选项指出输入文件(在本例中为stub
)是原始二进制数据blob。
您显示的命令采用此“blob”并将其包装在 elf 文件中,类似于编译器创建的其他对象,并且适合链接到程序中。如果你有一个ROM编程工具,例如,它需要精灵数据而不是原始二进制文件,那么这种技巧也很有用。
blob放在.data
部分,并为您创建三个符号(a.k.a.变量):
_binary_stub_start
_binary_stub_end
_binary_stub_size
如果您以通常的方式将stub-image.o
与C程序链接,那么您可以像这样访问数据(您可以选择适合的任何指针类型):
extern char *binary_stub_start;