On 2020-07-10, Nick Clifton via Binutils wrote:
Hi Guys,
I have just updated PR 26047 with a suggested patch which I think could resolve this situation. (Patch attached here as well in order to save time). It adds a new linker command line option: -z allowexec which will disable the warnings about linking in executable files. The default is still to have these warnings as I think that in most cases this behaviour makes sense.
Will this solve the problem for you ?
Cheers Nick
In the future there may be more ET_* types. I don't think linking them will be correct/intended
https://groups.google.com/forum/#!topic/generic-abi/tJq7anc6WKs "RFC: Add ET_DEBUG" (the RFC has not been accepted but OSes can freely use ET_GNU_* )
-----
For seabios, I sincerely wish Kevin can consider changing e_type instead of relying a new linker option which has no use case otherwise.
ET_EXEC works for seabios is just because seabios uses a very different link model. It ignores the symbol table and many sections which would normally appear in a normal ET_EXEC (.hash .gnu.hash .plt .dynstr .dynsym ...) I should add that rejecting ET_EXEC is also wish of a maintainer of the Arm proprietary linker.