Re: [ANN] Bochs bios ported to gcc

H. Peter Anvin
2008-04-07T16:18:31Z

Kevin O'Connor wrote:
> On Sun, Apr 06, 2008 at 11:42:11PM -0700, H. Peter Anvin wrote:
>> bcc is truly horrible. gcc is, of course, best, although it does produce
>> bloated 16-bit code.
>
> With gcc, the text size has actually been significantly reduced - I'm
> not sure if this is because I'm using -fwhole-program and -Os or if it
> is just the result of bcc being so bad.
>

The 16-bit code is still horrid. I have done some experiments with a
16-bit backend to gcc last summer, and even when it could barely crawl,
and had effectively no optimizations, it still produced 15% smaller code
than the 32-bit backend with .code16gcc and the best optimizations I
could find.

> The biggest problem I've run into is stack usage on the 16-bit bios
> calls.
>
>> For "proper" 16-bit code, OpenWatcom is currently the
>> best open source compiler, and it's actually getting usable even on a Linux
>> host.
>
> One of the developers on the bochs list also recommended OpenWatcom.
>
> The bios currently has quite a bit of 32bit code in addition to the
> 16bit code. It's very convenient to be able to compile the same code
> in both modes (eg, printf, inb, etc.). I'd need to move both 32bit
> and 16bit code to OpenWatcom to do this.

Yes, of course. OpenWatcom does do both, although I think gcc is a
better compiler than OpenWatcom in 32-bit mode. OpenWatcom isn't bad,
though.

As long as it's just C, it's not really an issue, though.

-hpa