title: Is there an option to GNU ld to omit -dynamic-linker (PT_INTERP) completely?
body: <p>I'm experimenting with the concept of pure-static-linked PIE executables on Linux, but running into the problem that the GNU binutils linker insists on adding a PT_INTERP header to the output binary when <code>-pie</code> is used, even when also given <code>-static</code>. Is there any way to inhibit this behavior? That is, is there a way to tell GNU ld specifically not to write certain headers to the output file? Perhaps with a linker script?</p>
  
  <p>(Please don't answer with claims that it won't work; I'm well aware that the program still needs relocation processing - load-address-relative relocations only due to my use of <code>-Bsymbolic</code> - and I have special startup code in place of the standard <code>Scrt1.o</code> to handle this. But I can't get it to be invoked without the dynamic linker already kicking in and doing the work unless hexedit the <code>PT_INTERP</code> header out of the binary.)</p>