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

Kevin O'Connor kevin@koconnor.net
Mon Jul 13 17:29:11 GMT 2020


On Mon, Jul 13, 2020 at 01:22:27PM +0100, Nick Clifton wrote:
> Hi Kevin,
> 
> > I think the main issue is going to be the breaking of existing
> > software builds.
> 
> True - but the counter argument is that those builds were relying upon
> a mis-feature of the BFD linker, and so maybe the correct thing to do 
> is to fix the builds.

Understood.  I'm okay with a change to SeaBIOS.

> > As for the particular workaround, "-z allowexec" generates a warning
> > on current versions of ld. 
> 
> Do you mean that using this option introduces a new warning message
> (presumably about the option not being recognised), or that it does
> not work and using it has no effect ?   If the former then this 
> means that the proposed patch has not been applied to the linker, or
> that the patched linker has not then been rebuilt.  If it is the
> latter then I must have missed something in the creation of the patch.

I mean the former - if I change current SeaBIOS to always include "-z
allowexec" then currently deployed versions of ld (eg, v2.34) will
report "ld: warning: -z allowexec ignored".

On Mon, Jul 13, 2020 at 01:25:12PM +0100, Nick Clifton wrote:
> > For seabios and Linux 5.2 (this major release only), a linker warning
> > should not hurt.
> > In a future release of GNU ld, the warning can be upgraded to an error.
> 
> This seems like a good compromise to me.  I will add a patch to the 2.35
> branch to change the error to a warning, along with a note that supporting
> this kind of linking is likely to be deprecated in the future.

Works for me.

Thanks,
-Kevin


More information about the Binutils mailing list