public inbox for linux-8086@vger.kernel.org
 help / color / mirror / Atom feed
From: David Given <dg@cowlark.com>
To: ELKS Mailing List <linux-8086@vger.kernel.org>
Subject: Re: Kernel size over 64K: what is needed, how to implement?
Date: Mon, 20 Feb 2012 00:51:46 +0000	[thread overview]
Message-ID: <4F419922.3070104@cowlark.com> (raw)
In-Reply-To: <CAMKR1yu_SvgYP-Warffe4+czFNrbb6HPJ32XROaG2W2KPdBKqA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1999 bytes --]

On 19/02/12 23:01, Kirn Gill wrote:
> Wow. Just wow. I am not keen on assembler, but I can quite well
> understand what is going on here. OpenWatcom cdecl is nicer for
> debugging because it generates a frame pointer on the stack. Fastcall
> makes smaller (and likely faster) code. Both blow bcc away (which I'm
> not even sure what all the code it's generating is doing, or much less
> even needed)

Well, bcc *is* a tiny compiler intended to run natively on 16-bit
platforms, and Open Watcom is an 900kB behemoth... and even that's tiny
compared to llvm. I'm not surprised bcc makes poor code.

(Hey, look, there's an Open Watcom 16-bit C++ compiler! That'll be, um,
useful.)

> OMF is the Object Module Format defined by Intel for the 16-bit PC
> OSes. It's nearly universal as a format during the 16-bit DOS, OS/2
> and Windows era. Watcom still uses it for two reasons: 1.) It has
> support for segments, including in the OMF-386 variant. 2.) Near
> universal compatibility with the vast majority of 16-bit development
> systems for DOS, OS/2 1.x, and Win16 in existence.

Yes, I figured that out eventually. I did find one guy who has some OMF
patches for binutils:

http://bpj-code.blogspot.com/2011/09/omf-support-for-binutils.html

...but it's not complete and he doesn't say which version of binutils
it's for.

TBH, the easiest approach to using Open Watcom would probably be to
retool entirely for it: produce ELKS executables and a kernel image
directly from their linker. At least ELKS doesn't have any shared
library horrors to deal with, which means that the output files are
fairly simple. No idea whether it's actually possible, though.


PS. No need to cc me on replies --- I am a list subscriber!

-- 
┌─── dg@cowlark.com ───── http://www.cowlark.com ─────
│
│ "Never attribute to malice what can be adequately explained by
│ stupidity." --- Nick Diamos (Hanlon's Razor)


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 254 bytes --]

  reply	other threads:[~2012-02-20  0:51 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-17 18:20 Kernel size over 64K: what is needed, how to implement? Jody Bruchon
2012-02-17 22:51 ` David Given
2012-02-19 21:36   ` David Given
2012-02-19 23:01     ` Kirn Gill
2012-02-20  0:51       ` David Given [this message]
2012-02-20 13:13         ` Alan Carvalho de Assis
2012-02-21 18:24           ` Juan Perez-Sanchez
2012-02-22  0:31             ` David Given
     [not found]           ` <FC79A7424F669341A72EFA787A3C767541F8ECD7@exchdb1-vm-srv.infopulse.local>
2012-02-22 14:53             ` Andrey Romanenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F419922.3070104@cowlark.com \
    --to=dg@cowlark.com \
    --cc=linux-8086@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox