GCC LD NOLOAD linker section generates loadable segment
问题 I'm working on an Arm bare-metal application and I've marked some sections with NOLOAD . According to the explanation in Understanding linker script NOLOAD sections in embedded software , I expected the resulting ELF file to not have a loadable segment (program header) for these sections, but it does. Is this correct? Why are those sections marked as loadable in the ELF file? This is a part of my linker script: .bss (NOLOAD) : { . = ALIGN(4); __bss_start__ = .; *(.bss_begin .bss_begin.*) *(