1
我使用的GNU鏈接腳本,其中bss
部分變量越來越非4字節對齊的地址,這是爲變量的地址正在使用的硬件的大問題,需要字對齊地址。ARM:GNU GCC連接BSS部分對準
而不是使用它們的單獨一個align屬性,讓如果我有10個變量或我想有鏈接生成字對齊的地址,每個變量的特定部分我該怎麼辦呢?
我一直在使用ALIGN()
不影響審判。
這是例子:
.bss.a 9cdf8 0x1
.bss.b 9cdf9 0x1
對於.bss.b
我想獲得0x9cdf8 + 4
因此對於所有的變量。
我該如何做到這一點?
有** 2 **類型*對準的*。一個用於*輸入部分*,另一個用於*輸出部分*。您必須在源文件中設置對齊方式。請參閱'SORT_BY_ALIGNMENT','SORT_BY_NAME',或者您可以指定每個文件。 '.bss {foo.o(.bss); 。 = ALIGN(4);文件bar.o(.bss段); }'。 「ALIGN」只是對齊當前輸出地址。 –