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