On 2012-02-27 17:00, Peter Stuge wrote: > Jan Kiszka wrote: >>> Then I noticed, that if I rebuild the BIOS, from the exact same revision >>> 1.6.3.1 revision that is committed in 'seabios' submodule in QEMU, then >>> it works fine. So AFAICT, it is not the Seabios source code at fault, >>> but rather the binary build we have commited to GIT. Should/can we rebuild >>> the bios.bin in GIT ? >> >> Probably not without understanding what causes this strange >> inconsistency. If Seabios builds without errors and then later on fails, >> this is also a bug. >> >> Kevin, what information do you need to assess my tool chain? > > In the coreboot project we have more than 10 years of experience from > distribution toolchains consistently being too broken to build a > working coreboot image. The same problems apply to SeaBIOS. > > As you know, distribution toolchains are heavily patched, presumably > to add some value to the distribution. The patches work fine when the > toolchains should output userland binaries or the odd kernel. They > fail frequently and in countless ways when used to produce bare metal > binaries. > > Within coreboot it is much less effort to build an i386-elf cross > toolchain than to mess with the hundreds if not thousands of issues > in the distribution toolchains. The same applies to SeaBIOS of > course. The script we use in coreboot is here: > > http://review.coreboot.org/gitweb?p=coreboot.git;a=tree;f=util/crossgcc > > If you want to investigate and spend time on motivating distributions > to unbreak their toolchains that's awesome, but be prepared to spend > many weeks disassembling binaries and reverse engineering the toolchain.
Well, the Linux kernel can also be built with practically any distro out there. Having a need for a separate toolchain for building x86 on x86 is a bit overkill IMHO, at least for someone hacking on Seabios only infrequently like /me. Jan PS: Please avoid "mail-followup-to" in your replies, it messes up To/CC. -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux