linker-scripts

    2熱度

    1回答

    我試圖切換到GNU GCC編譯器爲我們的嵌入式系統,但我在鏈接的項目作爲我們的芯片的內存佈局麻煩是分裂的: RAM section 1: 0x10000-0x12FFF RAM section 2: 0x18000-0x1BFFF 從我們的項目的數據可以適合第1部分,但從gcc庫鏈接的數據沒有。地圖文件提取: .data 0x00012974 0x3c4 c:/tools/gnucr1

    1熱度

    2回答

    我試圖通過在LD腳本STARTUP指令的程序用我自己的啓動文件鏈接: ... ENTRY(_start) STARTUP(my_crt1.o) ... GCC驅動程序用於程序鏈接(不要與庫路徑libgcc的一樣,等)理會: gcc -T my_script.ld ... 不幸的是,它只是編譯爲PowerPC目標的GCC的作品,而手臂或i686的目標不和仍然包括collect2 crt

    3熱度

    1回答

    我正在使用模塊化構建系統的軟件,而不是在ARM嵌入式目標上以及正常的X86(linux)計算機上運行。我正在編譯GNU工具鏈,因此使用ld進行鏈接。 其中一個模塊利用linkerscript技巧來組裝一個「註冊」對象數組。 #define RegObject(name, arg1, arg2, etc) \ static TRegObject name \ __attribut

    3熱度

    1回答

    我正在使用TI Stellaris LM3S1968。該MCU具有ARM Cortex-M3。 我在我的筆記本電腦安裝了虛擬機與Windows 7就可以了,還有我安裝GNU Tools for ARM Embedded Processors。然後我安裝了Stellaris Flash Programmer, GUI and command line。我也安裝了Stellaris FTDI Driv

    1熱度

    1回答

    我遇到了我的鏈接腳本的問題。 .data2,.nonsharedram和.bss部分具有錯誤的LMA。它們應該放在FLASH中,而是放置在SHARED1和SHARED2區域中。 鏈接腳本: MEMORY { FLASH : org = 0x100000, len = 1M NON_SHARED : org = 0x100, len = 0x4600 STACK

    2熱度

    2回答

    我想要的是像下面一個問題: 假設我有創建的庫libxyz.a: /* main.c */ int main(void) { int a; } 編譯和存檔: gcc -c main.c -o abc.o && ar cr libxyz.a abc.o 我該如何編寫鏈接腳本才能將abc.o完​​全放在預期的位置? 我試圖處理它以這樣一種方式: /* script.ld */

    4熱度

    3回答

    我從http://newlib.sourcearchive.com/documentation/1.18.0/init_8c-source.html查看了__libc_init_array的源代碼。 但我不太明白這個功能的作用。 我知道這些符號 /* These magic symbols are provided by the linker. */ extern void (*__preini

    3熱度

    8回答

    在C++中,main可以由函數指針定義嗎?例如: int f(int, char**) { return 0; } int (*main)(int, char**) = &f; 此代碼編譯和鏈接正確,但在運行時觸發分段錯誤。我相信這可能是因爲它試圖執行函數指針的值作爲代碼。另外,如果它在純C++中是不可能的,那麼它是否可以通過gcc的非標準特性(可能以某種方式改變導出的符號的類

    1熱度

    2回答

    編輯:已解決 - 應用於靜態數據節的鏈接描述文件屬性「SUBALIGN(32)」完全符合我的要求,強制要鏈接的每個對象文件對齊到一個32字節的邊界,填充自動插入。 __bss_start = .; .bss : SUBALIGN(32) { *(.dynbss) *(.bss .bss.* .gnu.linkonce.b.*) *(COMMON)

    2熱度

    3回答

    我正在使用binutils-2.21.53.0.1-6.fc16.x86_64。 我有一個小的目標文件,hello.o只有足夠的「東西」,以在所有的部分內容: Section Headers: [Nr] Name Type Address Offset Size EntSize Flags Link Info Align [ 0]