part.phdrs = script->hasPhdrsCommands() ? script->createPhdrs() : createPhdrs(part);
createPhdrs() allocates a PT_PHDR and a PF_R PT_LOAD, which will be
deleted later in LinkerScript::allocateHeaders, but leave a gap between
the program headers and the first section. Don't allocate them to avoid
the gap. PT_INTERP is likely not needed as well.