以下是链接描述符文件,它是GNU LD
的输入,用于为嵌入式系统构建u-boot ELF
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)
SECTIONS
{
. = 0x00000000;
. = ALIGN(4);
.text :
{
arch/arm/cpu/armv7/start.o (.text)
*(.text)
}
. = ALIGN(4);
.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
. = ALIGN(4);
.data : {
*(.data)
}
. = ALIGN(4);
. = .;
__u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) }
__u_boot_cmd_end = .;
. = CONFIG_SYS_NAND_U_BOOT_SIZE + CONFIG_SYS_TEXT_BASE;
. = ALIGN(4);
.rel.dyn : {
__rel_dyn_start = .;
*(.rel*)
__rel_dyn_end = .;
}
.dynsym : {
__dynsym_start = .;
*(.dynsym)
}
.bss : {
__bss_start = .;
*(.bss)
. = ALIGN(4);
_end = .;
}
/DISCARD/ : { *(.dynstr*) }
/DISCARD/ : { *(.dynamic*) }
/DISCARD/ : { *(.plt*) }
/DISCARD/ : { *(.interp*) }
/DISCARD/ : { *(.gnu*) }
}
并且宏CONFIG_SYS_NAND_U_BOOT_SIZE
是u-boot的最终大小的选项,CONFIG_SYS_TEXT_BASE
保存文本的基地址,现在我怀疑为什么是{{1被放置在ELF允许的大小之外
它被ELF淘汰了,不!当我完成ELF的objdump它出现在它中时,请参见下面的图片