Andes Workshop http://forum.andestech.com/ |
|
linker script之EXCLUDE_FILE語法 http://forum.andestech.com/viewtopic.php?f=16&t=600 |
Page 1 of 1 |
Author: | cindy [ Tue Jul 31, 2012 11:54 am ] |
Post subject: | linker script之EXCLUDE_FILE語法 |
今天看linker script的文件, 記一下這個有用的語法說明。 *(.text) :表示所有输入文件的.text section (*(EXCLUDE_FILE (*crtend.o *otherfile.o) .ctors)) :表示除crtend.o、otherfile.o 文件外的 所有输入文件的.ctors section。 data.o(.data) :表示data.o 文件的.data section data.o :表示data.o 文件的所有section *(.text .data) :表示所有文件的.text section 和.data section,顺序是:第一个文件的.text section,第一个文件的.data section,第二个文件的.text section,第二个文件的.data section,... *(.text) *(.data) :表示所有文件的.text section 和.data section,顺序是:第一个文件的.text section,第二个文件的.text section,...,最后一个文件的.text section,第一个文件的.data section, 第二个文件的.data section,...,最后一个文件的.data section |
Author: | cindy [ Tue Jul 31, 2012 11:56 am ] |
Post subject: | 任何一個section只能被用到1次 |
再備忘一些語法說明。 任何一个文件的任意 section 只能在SECTIONS 命令内出现一次。看如下例子, SECTIONS { .data : { *(.data) } .data1 : { data.o(.data) } } data.o 文件的.data section 在第一个OUTPUT-SECTION-COMMAND 命令内被使用了,那么在第 二个OUTPUT-SECTION-COMMAND 命令内将不会再被使用,也就是说即使连接器不报错,输出文件 的.data1 section 的内容也是空的。 再次强调:连接器依次扫描每个OUTPUT-SECTION-COMMAND 命令内的文件名,任何一个文件的任 何一个section 都只能使用一次。 |
Author: | cindy [ Tue Jul 31, 2012 12:02 pm ] |
Post subject: | Re: linker script之EXCLUDE_FILE語法 |
在当前输出section 内可能存在未描述的存储区域( 比如由于对齐造成的空隙) , 可以用 FILL(EXPRESSION)命令决定这些存储区域的内容, |
Author: | ianfeng [ Wed May 07, 2014 10:53 am ] |
Post subject: | Re: linker script之EXCLUDE_FILE語法 |
關於 EXCLUDE_FILE 的使用範例,請參考回覆中的"demo-printf.zip" project。 http://forum.andestech.com/viewtopic.php?f=25&t=685&p=996#p996 |
Page 1 of 1 | All times are UTC + 8 hours [ DST ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |