ARM連接器介紹
**連接編譯后得到的目標(biāo)文件相應(yīng)的c/c++運(yùn)行時(shí)庫,生成可執(zhí)行的影像文件。
**將一些目標(biāo)文件進(jìn)行連接,生成一個(gè)新的目標(biāo)文件,供將來進(jìn)一步連接時(shí)使用,這成為部分連接。
**指定代碼和數(shù)據(jù)在內(nèi)存中的位置。
**生成被連接文件的調(diào)試信息和相互間的引用信息。
Armlink在進(jìn)行部分連接和完全生成可執(zhí)行文件時(shí)作進(jìn)行的操作是不同的。下面分別介紹:
(1)解析輸入的目標(biāo)文件之間的符號(hào)引用關(guān)系。
(2)根據(jù)輸入目標(biāo)文件對(duì)c/c++函數(shù)的調(diào)用關(guān)系,從c/c++運(yùn)行時(shí)庫中提取相應(yīng)模塊。
(3)將各個(gè)輸入段排序,組成相應(yīng)的輸出段。
(4)刪除重復(fù)的調(diào)試信息。
(5)根據(jù)用戶指定的分組和定位信息,建立映像文件的地址映射關(guān)系。
(6)重定位需要重定位的值。
(7)生成可執(zhí)行的映像文件。
armlink在進(jìn)行部分連接生成新的目標(biāo)文件時(shí)執(zhí)行下面的操作。
(1)刪除重復(fù)的調(diào)試信息
(2)最小化符號(hào)表的大小
(3)保留那些未被解析的符號(hào)
(4)生成新的目標(biāo)文件
下面根據(jù)各armlink的命令行選項(xiàng)的功能分類列舉了armlink的命令行選項(xiàng),各選項(xiàng)的具體用法將在后面有詳細(xì)地介紹。
**提供關(guān)于armlink的幫助信息
**指定輸出文件的名稱和類型:*-output;*-partial;*-elf
**使用選項(xiàng)文件,其中可以包含一些連接選項(xiàng)。
**制定可執(zhí)行映像文件的內(nèi)存映射關(guān)系。*-rwpi;*-ropi;*-rw_base;*-ro_base;*-spit;*-scatter
**控制可執(zhí)行映射文件的內(nèi)容。*-first;*-last
**生成與映像文件的相關(guān)信息
**控制armlink生成相關(guān)的診斷信息
評(píng)論