Re: Right BCC version to use ?

David Given <[email protected]> Tue, 24 Mar 2015 22:50:42 +0100
Newsgroups org.kernel.vger.linux-8086
Message-ID <[email protected]>
On 24/03/15 12:30, Jody Bruchon wrote:
[...]
> ELKS is tightly tied to BCC for now, so some future development will probably require changes to it. A big difference between BCC and GCC is that BCC includes a C library and headers whereas GCC is only a compiler and requires a C library to be built separately. That means I can't fix issues with the C library without bringing the whole thing along.

While I wouldn't suggest it for *new* development, because the compiler
technology is old and clunky and rather unmaintainable, but the ACK is
an ANSI C compiler suite which supports 8086 and comes with a full libc
--- this is what Minix used. It's even theoretically possible to run it
self-hosted on an ELKS-style machine, although it'd take work to recover
that ability these days. The 8086 coded generate isn't too bad. (Minix
was developed with it, after all.)

The downside is that it lives in its own little universe and doesn't
interoperate with anything; you have to use the ACK object file format
and the ACK linker etc. I believe it already supports Minix 16/16
segmented binaries.

The effort needed to persuade the ACK to produce ELKS executables is
probably quite small --- it already has partial support for ix86 and
m68k Linux; how different is the ELKS system call model? Making it build
the kernel is probably harder due to different dev86 and ACK linker magic.

This would only be worthwhile as a stopgap until 8086 gcc or pcc is
available, and it would need some careful evaluation of the code
quality, but it might be worth looking into.

The fairly elderly website is at: http://tack.sourceforge.net/

-- 
┌─── dg@cowlark.com ───── http://www.cowlark.com ─────
│
│ "Sufficiently advanced incompetence is indistinguishable from
│ malice." -- Vernon Schryver
signature.asc (application/pgp-signature, 828 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIVAwUBVRHcNXTPe2DYoi4EAQpJqQ//SEVTkxi7g8Q5ZY8hXB9/smTAkcDzK7h3
B4Ui+utletVKVU57i1E0WmoGxUXd4Qk6dW5jUVubMjFvvHfC9LLN8qpkQPSyshbh
/SPujgGX4bsZb3t49lM75DaBtXV0Kz19GR8pQFJE2mPIBOG/bbjP/mX+mHCiwart
OiwYpOJxGik16m3Z9Q9vCAVL+dF9oOY6OxCdBEw8/4YKLghByKHESX0tCLTJlSaq
Kmbs7gaIYJ5mwOAapNGwrVCdfFsCKsKrsAWdGKKIIXYqFRUIkRFyqYbFw/7Valze
JPFCb+aG3Smwx3FQXSWAGuOPPw3SIoKn8ZPZU2bsayQ9hVPkierMgayv6yYJrFhh
lbbasCnDJ0BuC9V2ZXHHsEONZP4UgBA+bdLTjeFpdPkMj2Ok9501Se1518FrbulA
o3KHlIvPDQcWgOdHRDpR8yRis/zGP7iyS6y9QOZF++eA/PQPKMy9omCANYoA4Fgd
V5nttqK4qpsC34b7DCS4meUU5w1lifAnnd67vQG2lmlTPGA/OdWXaXjk0QohfLmI
71S8SCNCQDnXpXS5zW23tqGQHrbJXzSpr+HGmH19vcUIPaBhh9RJQzJTA/YAe+rZ
n1mcvmq5xem9SrIsbBPsTJ+oUg+GdLbneWotsgMbrsVh0bKK4Vsasi4r4bcA86ib
Fd9OGVp5mO8=
=Bsuc
-----END PGP SIGNATURE-----