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/