Issues building seabios
Trying to debug the cdrom issue, I see
Compiling whole program out/ccode32.osrc/util.c: In function ‘__end_thread’:src/util.c:183: internal compiler error: in simplify_subreg, at simplify-rtx.c:5055
(with F12's gcc (GCC) 4.4.2 20091027 (Red Hat 4.4.2-7))
The issue seems to be with the pos variable; removing everything except the declaration + initialization retains the error, converting the variable to static removes it. Presumably you've seen many of these?
With that out of the way, I get:
Linking (no relocs) out/rom32.o
Linking (no relocs) out/rom16.o
Linking out/rom.ocdemu_drive' referenced in section .text32' of out/rom32.o: defined in discarded section .discard.var16.src/cdrom.c.107' of out/rom32.o cdemu_drive' referenced in section .text32' of out/rom32.o: defined in discarded section .discard.var16.src/cdrom.c.107' of out/rom32.o cdemu_drive' referenced in section .text32' of out/rom32.o: defined in discarded section `.discard.var16.src/cdrom.c.107' of out/rom32.o
Given we're chasing a cdom related problem, this is suspicious, even though we aren't using cdemu. Presumably access to uninitialized memory can confuse disk.c.
out/rom32.o: In function `check_irqs32':
/build/home/tlv/akivity/qemu-kvm/roms/seabios/src/util.c:109: undefined reference to `trampoline_checkirqs'
No idea where that came from.
Signature · 1 line
error compiling committee.c: too many arguments to function
Quoted 8 lines · Avi Kivity
Trying to debug the cdrom issue, I see
Compiling whole program
out/ccode32.osrc/util.c: In function ‘__end_thread’:src/util.c:183: internal compiler error: insimplify_subreg, at simplify-rtx.c:5055(with F12's gcc (GCC) 4.4.2 20091027 (Red Hat 4.4.2-7))
I think this should be fixed in gcc - see:
https://bugzilla.redhat.com/show_bug.cgi?id=531385
Long story short - this is the result of gcc's "-combine" being fragile. It's possible to avoid by compiling seabios with "make COMPSTRAT=1". We may need to change the default.
Ughh - did FC12 go out without this fix?
-Kevin
Quoted 11 lines · Kevin O'Connor
Quoted 9 lines · Avi Kivity
Trying to debug the cdrom issue, I see
Compiling whole program
out/ccode32.osrc/util.c: In function ‘__end_thread’:src/util.c:183: internal compiler error: insimplify_subreg, at simplify-rtx.c:5055(with F12's gcc (GCC) 4.4.2 20091027 (Red Hat 4.4.2-7))
Quoted 9 lines
I think this should be fixed in gcc - see:
https://bugzilla.redhat.com/show_bug.cgi?id=531385
Long story short - this is the result of gcc's "-combine" being fragile. It's possible to avoid by compiling seabios with "make COMPSTRAT=1". We may need to change the default.
That works. Still complains about cdemu_drive and trampoline_checkirqs.
Quoted 2 lines
Ughh - did FC12 go out without this fix?
Yes, and 4.4.2-8 is not on updates-testing or rawhide.
Signature · 1 line
error compiling committee.c: too many arguments to function
Quoted 6 lines · Avi Kivity
Quoted 3 lines · Kevin O'Connor
Long story short - this is the result of gcc's "-combine" being fragile. It's possible to avoid by compiling seabios with "make COMPSTRAT=1". We may need to change the default.
That works. Still complains about
cdemu_driveandtrampoline_checkirqs.
I updated SeaBIOS' gcc check to test for the broken fc12 compiler - commit 3133e382.
With that commit, I can build on fc12 and fc12beta without any errors or warnings. Did you run a "make clean" before rebuilding?
-Kevin
Quoted 8 lines · Kevin O'Connor
Quoted 6 lines · Avi Kivity
Quoted 4 lines · Kevin O'Connor
Long story short - this is the result of gcc's "-combine" being fragile. It's possible to avoid by compiling seabios with "make COMPSTRAT=1". We may need to change the default.
Quoted 8 lines
Quoted 2 lines
That works. Still complains about
cdemu_driveandtrampoline_checkirqs.I updated SeaBIOS' gcc check to test for the broken fc12 compiler - commit
3133e382.With that commit, I can build on fc12 and fc12beta without any errors or warnings. Did you run a "make clean" before rebuilding?
I did. Latest seabios builds for me, though, so I can confirm the problem is fixed.
Signature · 1 line
error compiling committee.c: too many arguments to function