9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Charles Forsyth <charles.forsyth@gmail.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] ken cc for linux
Date: Thu, 12 Mar 2015 10:06:19 +0000	[thread overview]
Message-ID: <CAOw7k5jV-Vdb0+KhADgGCLRS5AeHVGPnor6JqzXdJ4pDqntrtg@mail.gmail.com> (raw)
In-Reply-To: <CAEAzY38idNPC6oEuAQ=g1E8tGxpr8mpgkNnpwM3B5NXH_KrfLA@mail.gmail.com>

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

On 12 March 2015 at 08:51, Aram Hăvărneanu <aram.h@mgk.ro> wrote:

> Plan 9 and Inferno have working 64-bit compilers.


Periodically I pull the Plan 9 and Inferno variants into line, so they
should be about the same.
It's one reason I split off the Thumb implementation, although it handled
ARM/Thumb interlinking better than some.
Looking at the current differences, I think I'm inclined now to keep a
master copy and then pull
from that into the two distributions (could just pull directly for Inferno).
I've used it and lib9 in several other projects where other compilers
couldn't be used for licensing reasons, or because they were awful.
An ANSI cpp is included.

I believe there are small ANSI C libraries available.

It's trickier for Linux work. Not only is there ELF/DWARF to deal with, and
those are both families of a powerset of options, but
there are shared libraries and different run-time conventions.
Just look at the disaster of most implementations of variable length
parameter lists:
thanks to function prototypes, which are now (what?) 30 years old,
we know where they are, and can make a simple array on the stack.
Instead some platforms, even otherwise tasteful ones,
for the caller not relying on the prototype, just in case you don't use
them, 30 years on,
and instead using the complex register-oriented calling convention even for
those,
and  use pages of complex filth to compensate.
(I wouldn't mind using registers a bit more in the calling convention, if
it proved cost-effective,
but I'd still pass variable-length parameter lists on the stack.)

Most things need only a handful of system calls, but overall it looks like
a big effort,
and I'm not sure what the goal would be. I have done wrapper programs that
create
an environment to run Plan 9 a.out programs on Linux and another, but that
was mainly
to assist compiler development on new platforms.

[-- Attachment #2: Type: text/html, Size: 3101 bytes --]

  reply	other threads:[~2015-03-12 10:06 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-11 20:30 Aharon Robbins
2015-03-11 20:34 ` Aram Hăvărneanu
2015-03-11 21:04 ` Ryan Gonzalez
2015-03-11 21:54   ` Quintile
2015-03-11 23:04     ` Ryan Gonzalez
2015-03-11 23:19       ` Steve Simon
2015-03-12  6:39         ` arnold
2015-03-13  1:31     ` erik quanstrom
2015-03-13 13:24       ` Charles Forsyth
2015-03-13 17:59         ` Ryan Gonzalez
2015-03-13 18:19           ` Kurt H Maier
2015-03-19 15:35             ` Jeff Sickel
2015-03-19 16:09               ` [9fans] using git arnold
2015-03-19 16:22                 ` Stanley Lieber
2015-03-19 16:34                 ` Charles Forsyth
2015-03-19 16:36                   ` Charles Forsyth
2015-03-19 16:39                     ` Federico Benavento
2015-04-03 18:46                       ` Jeff Sickel
2015-03-19 18:03                   ` Skip Tavakkolian
2015-03-19 20:30                     ` Jeff Sickel
2015-03-19 21:46                       ` Skip Tavakkolian
2015-03-19 21:54                         ` Devon H. O'Dell
2015-03-20  1:02                           ` Kurt H Maier
2015-03-19 18:26                   ` arnold
2015-03-28 11:14                     ` Charles Forsyth
2015-03-28 14:00                       ` Paul Lalonde
2015-03-30  9:48                         ` Giacomo Tesio
2015-03-30  9:55                           ` Giacomo Tesio
2015-03-30 16:16                             ` Jeff Sickel
2015-03-30 19:47                               ` Stanley Lieber
2015-03-30 20:41                                 ` Bakul Shah
2015-03-30 20:20                               ` Giacomo Tesio
2015-03-30 20:32                                 ` Ryan Gonzalez
2015-03-31  3:17                                 ` arnold
2015-03-19 17:00                 ` Jeff Sickel
2015-03-19 17:36                   ` Ori Bernstein
2015-03-12  8:50   ` [9fans] ken cc for linux Aram Hăvărneanu
2015-03-12 17:53     ` Ryan Gonzalez
2015-03-12  8:51   ` Aram Hăvărneanu
2015-03-12 10:06     ` Charles Forsyth [this message]
2015-03-12 15:23       ` Charles Forsyth
2015-03-12 15:41         ` Brantley Coile
2015-03-12 17:14           ` Charles Forsyth
2015-03-13  1:28             ` erik quanstrom
2015-03-12 17:52     ` Ryan Gonzalez

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=CAOw7k5jV-Vdb0+KhADgGCLRS5AeHVGPnor6JqzXdJ4pDqntrtg@mail.gmail.com \
    --to=charles.forsyth@gmail.com \
    --cc=9fans@9fans.net \
    /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 NNTP newsgroup(s).