LLD and bfd, without this change, will link the ofw loader very differently. LLD creates several PT_LOAD sections with varying permissions, which OF does not grok.
Like we do for the kernel, specify the program headers manually.
Also, to work around a crash in ld.bfd, explicitly assign the section output to the text section. (LLD doesn't care, but our ld.bfd will outright crash.)
This removes the GNU_STACK header as well. This is harmless because we are using a statically-allocated stack, and OpenFirmware does not honor it anyway.