HDR_NOALLOC
Directive
Every ELF object has an ELF header at offset
0 in the file. Dynamic objects also contain program headers, which
are accessed through the ELF header. The link-editor normally
arranges for these items to be included as part of the first loadable segment. The
information contained in these headers is therefore visible within the mapped image,
and is typically used by the runtime linker. The HDR_NOALLOC
directive prevents this.
HDR_NOALLOC;
When HDR_NOALLOC
is specified, the ELF
header and program header array still appear at the start of the resulting output
object file, but are not contained in a loadable segment, and virtual address
calculations for the image start at the first section of the first segment rather
than at the base of the ELF header.