2012-10-06 33 views
1

我正在写一个512字节的可引导程序,我必须将0xAA55粘贴到512字节程序映像的最后2个字节中。所以我已经做到了。现在我的链接器脚本应该非常简单。我只是好奇这个语法是什么意思。链接器脚本中的.foo:{*(。*)}是什么意思?

.foo : { *(.*) } 

我给了它作为一个例子。没有.foo段,而在这之前,我改变了程序计数器

. = 0x1000 //To account for the elf header which I will strip later 

所以经过这个指令是

.foo : { *(.*) } 

这是什么呢?

+0

我从来没有使用链接器脚本,但两分钟的谷歌搜索[本文档中的“链接器脚本通配符”](http://sourceware.org/binutils/docs/ld/Input-Section-Wildcards.html) ,这表明该行指示链接器将所有段合并为一个名为'.foo'的段。 – DCoder

回答

2

它存储在从还未被分配给任何前面定义的部分中的所有对象的文件(第一*)部分.foo所有代码,数据,BSS,RODATA,等等(第二*)。