linux-8086.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Juan Perez-Sanchez <lithoxs@gmail.com>
To: linux-8086 <linux-8086@vger.kernel.org>
Subject: Patch set to ease replacement of BCC compiler
Date: Thu, 21 May 2015 00:47:35 -0500	[thread overview]
Message-ID: <CAD6VGuby=8S_0HbZkSVSn1e4hGFrha7bPRGZjsAwed6MJOc1Pg@mail.gmail.com> (raw)

Hi,

I will send a set of 5 patches aimed to ease the transition
to other C compiler. The compilers considered are open-watcom
and ia16-unknown-elks-gcc.

This is not a port to use another compiler, BCC is still the
only compiler able to produce the kernel image. Even if a file
is compiled without errors, there are issues such as calling
function conventions, register usage and naming conventions
in assembly code that were not solved.

Now, the alternative compilers can compile all C files in the
source tree with only a few warnings, provided that inline
assembly is not used. The compilers detected several cases of
code that never executes, and deleting this code reduces code
size.

The largest roadblocks for using other compiler are the
assembly code and the inline assembly facility in BCC. I did
some changes aimed to have "only C" files and "only assembly"
files. The few files with mixed languages have C functions
without inline assembly or complete assembly functions. I also
did changes to eliminate some assembly code.

After the modifications, code size was reduced in 240 bytes,
data reduced in 16 bytes and bss increased in 4 bytes.

Patches should be applied in the correct order: starting with
elks-3t.patch and ending with elks-3x.patch

All kernel Images builded without errors using BCC. Every kernel
was tested with QEMU and PCE emulators. Also in a PPro pc
booting from floppy.

Greetings,

Juan

             reply	other threads:[~2015-05-21  5:47 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-21  5:47 Juan Perez-Sanchez [this message]
2015-05-21  6:23 ` Patch set to ease replacement of BCC compiler u-vpoa
2015-05-21 14:13   ` Juan Perez-Sanchez
2015-05-21  6:27 ` u-vpoa

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='CAD6VGuby=8S_0HbZkSVSn1e4hGFrha7bPRGZjsAwed6MJOc1Pg@mail.gmail.com' \
    --to=lithoxs@gmail.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).