[SeaBIOS] Re: recent ld built for x86_64 fails to accept 16bit code as input (seabios build)

Fangrui Song i@maskray.me
Fri Jul 10 15:55:55 GMT 2020


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.


More information about the Binutils mailing list