memory management - Is .bss not a part of final ELF? -
here below linker descriptor file input gnu ld
build u-boot elf embedded system
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*) } }
and macro config_sys_nand_u_boot_size
option of final size of u-boot, , config_sys_text_base
holds base address of text, doubt why .bss
been placed outside elf allowed size ??
was been put out of elf , no ! when have done objdump of elf present in it, see pic below
Comments
Post a Comment