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