[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