On Tue, Jul 05, 2016 at 10:32:15AM -0400, Kevin O'Connor wrote: > On Tue, Jul 05, 2016 at 03:49:34PM +0200, Roger Pau Monné wrote: > > Hello, > > > > I'm seeing the following issue when building SeaBIOS with gcc > 4.8: > > > > Compiling whole program out/ccode32flat.o > > Compiling whole program out/code32seg.o > > Compiling whole program out/ccode16.o > > /tmp//ccecsJuF.s: Assembler messages: > > /tmp//ccecsJuF.s:539: Error: register save offset not a multiple of 8 > [...] > > /tmp//ccecsJuF.s:27692: Error: register save offset not a multiple of 8 > > Makefile:154: recipe for target 'out/ccode16.o' failed > > gmake: *** [out/ccode16.o] Error 1 > > > > This works fine when using gcc 4.8, but fails in the same way with gcc 5.4. > > The assembler version used is: > > > > GNU assembler version 2.25.1 (x86_64-portbld-freebsd11.0) using BFD version > > (GNU Binutils) 2.25.1 > > > > What causes this issue seems to be the usage of the "-m16" gcc flag, which > > was introduced in gcc 4.9 AFAICT. The following workaround solves the > > issue, > > but I would like to know if anyone else has seen this with newer gcc > > versions, or if the gcc version from FreeBSD ports is broken. > > I normally compile with gcc v5.3.1. SeaBIOS is known to compile on > gcc v6 also. I guess this is something strange in FreeBSD.
Turns out gcc > 4.8 have a bug in FreeBSD when -m16 is used, sorry for the noise, I've already sent a patch upstream to try to address this. Roger. _______________________________________________ SeaBIOS mailing list [email protected] https://www.coreboot.org/mailman/listinfo/seabios
