Consider using Digital Mars C compiler

yuhong | 85 points

I am probably going to get downvoted for this, but let me try. I am assuming, this is related to VirtualBox using the OpenWatcom compiler [0] for BIOS because it is the only reasonable way to handle x86 segmentation from C.

So this ticket is basically asking the VirtualBox maintainers to take a reliably working part of the product and to port it to a different compiler, retest everything, fix any bugs caused by differences between compilers and update the build process as well. So as an end user of VirtualBox, I would either notice no difference at all (BIOS isn't a performance bottleneck really), or will get a regression due to bugs.

With all due respect to the free software community, I would say switching the compiler used in a stable product without an apparent improvement noticeable by the users would not serve their best interests. It is also a bit strange to see it not in a form of "hey, we really care about free software, so we ported this part to use a free compiler, here's the performance comparison, here are the unit tests, here are the build instructions", but rather in asking someone else to spend considerable effort on implementing this.

[0] https://www.virtualbox.org/ticket/12011

john_moscow | 6 years ago

I realized I had neglected to make the source to the runtime library available. Fixed that:

https://github.com/DigitalMars/dmc/tree/master/src

Everything in it that is copyrighted Symantec or Digital Mars is now Boost licensed. In particular, stuff that is copyrighted by Microsoft is NOT Boost licensed and cannot be redistributed.

WalterBright | 6 years ago

This is almost as bad as the drive-by "rewrite it in rust" type comments some open source projects get.

xmodem | 6 years ago

Why not just use gcc or clang?

earenndil | 6 years ago

Even most UEFI/BIOS are compiled by MSVC.and MASM. Why to ignore OVMF?

Asiasweatworker | 6 years ago

Context: The Open Watcom license has been a problem for years.

yuhong | 6 years ago