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