2012-09-09 46 views

回答

2

按照ARM options page for GCC;

告知由第一裝載功能的 地址到寄存器中,然後對這個寄存器中的 子程序調用執行函數調用的編譯器。如果目標 函數位於 基於偏移量的子例程調用指令版本的64兆字節尋址範圍之外,則需要此開關。

基本上這意味着,如果你的二進制文件小,你可能永遠有一個問題,運行默認-mno-long-calls,而不必擔心選項。

如果連接器爲您提供了錯誤Relocation truncated to fit: R_ARM_PC24,你已經打了默認的限制,需要編譯和鏈接的二進制使用-mlong-calls

+0

我看到了,只與鏈接器地址有關,沒有與應用程序性能有關的特殊因素。 – jianhua