處理目錄 (TOC) 溢位

如果要處理目錄 (TOC) 溢位,您可以減少廣域符號數目,放大 TOC 存取範圍,或套用交互程序分析。

程式中廣域符號的位址儲存在稱為 TOC 的資料結構中。 如果要存取廣域符號,必須從 TOC 擷取廣域符號的位址。 預設 TOC 資料結構具有固定大小,可儲存固定數目的廣域符號。 例如, IBM PowerPC® 架構使用已簽署 16 位元偏移的指示進行間接位址計算,並將 TOC 的大小限制為 64 KB。 在 32 位元模式下, TOC 中最多可以儲存 16 K 項目,在 64 位元模式下,最多可以儲存 8 K 項目。

對於大型應用程式, 一般 會有比預設 TOC 中所能儲存的更多廣域符號。 如果應用程式包含的 TOC 項目超過 TOC 所能保留的數目,鏈結器會報告 TOC 溢位,指出必須使用替代機制。 請使用下列方法來處理 TOC 溢位: