On Thu, Jul 09, 2020 at 05:39:48PM +0300, Michael Tokarev wrote:
Hello!
To clarify from the very beginning, I don't know how this part of the larger picture actually works. The end result is that seabios project, with the current source tarball available for download from https://www.seabios.org/downloads/seabios-1.13.0.tar.gz , can't be built using GNU ld as of version 2.34.90.20200706.
Here's the relevant output:
seabios-1.13.0 $ make silentoldconfig seabios-1.13.0 $ make V=1 PYTHON=python3 ... Linking out/rom16.o ld -T out/romlayout16.lds out/code16.o -o out/rom16.o Stripping out/rom16.strip.o strip out/rom16.o -o out/rom16.strip.o Linking out/rom.o ld -N -T out/romlayout32flat.lds out/rom16.strip.o out/rom32seg.strip.o out/code32flat.o -o out/rom.o ld: cannot use executable file 'out/rom16.strip.o' as input to a link make: *** [Makefile:187: out/rom.o] Error 1 seabios-1.13.0 $ _
Previous versions of ld accepted this file just fine and produced valid out/bios.bin in the end.
I dunno if this is a problem is seabios (which has actually been already reported to seabios by Paul Menzel today), or an issue in ld. These ROMs/firmwares are a bit tricky to build..
Some background links:
https://www.mail-archive.com/seabios@seabios.org/msg12275.html
https://sourceware.org/bugzilla/show_bug.cgi?id=26047
Nick - the original poster of PR 26047 was aware the binutils change would break software. Were you aware of that when you committed the change?
Thanks, -Kevin