Andes Workshop

It is currently Sun Jul 12, 2020 3:56 pm

All times are UTC + 8 hours [ DST ]




Post new topic Reply to topic  [ 4 posts ] 
Author Message
 Post subject: linker script之EXCLUDE_FILE語法
PostPosted: Tue Jul 31, 2012 11:54 am 
Offline
User avatar

Joined: Fri Mar 04, 2011 9:36 pm
Posts: 500
今天看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


Top
 Profile Send private message E-mail  
 
 Post subject: 任何一個section只能被用到1次
PostPosted: Tue Jul 31, 2012 11:56 am 
Offline
User avatar

Joined: Fri Mar 04, 2011 9:36 pm
Posts: 500
再備忘一些語法說明。

任何一个文件的任意 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 都只能使用一次。


Top
 Profile Send private message E-mail  
 
 Post subject: Re: linker script之EXCLUDE_FILE語法
PostPosted: Tue Jul 31, 2012 12:02 pm 
Offline
User avatar

Joined: Fri Mar 04, 2011 9:36 pm
Posts: 500
在当前输出section 内可能存在未描述的存储区域( 比如由于对齐造成的空隙) , 可以用
FILL(EXPRESSION)命令决定这些存储区域的内容,


Top
 Profile Send private message E-mail  
 
 Post subject: Re: linker script之EXCLUDE_FILE語法
PostPosted: Wed May 07, 2014 10:53 am 
Offline

Joined: Wed Apr 13, 2011 7:44 pm
Posts: 23
關於 EXCLUDE_FILE 的使用範例,請參考回覆中的"demo-printf.zip" project。
http://forum.andestech.com/viewtopic.php?f=25&t=685&p=996#p996


Top
 Profile Send private message E-mail  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC + 8 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group