9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: quanstro@quanstro.net
To: 9fans@cse.psu.edu
Subject: Re: [9fans] new compilers
Date: Sat, 25 Mar 2006 15:28:35 -0600	[thread overview]
Message-ID: <ea82c1826ccb5b5d81e337c45ee8a61f@quanstro.net> (raw)
In-Reply-To: <e2750cc05317288334b1d6d272ae06ff@terzarima.net>

On Sat Mar 25 14:06:26 CST 2006, forsyth@terzarima.net wrote:
> > no no no... when you change code you're supposed to add more code.
> > Aren't you paying attention to the way software development apparently
> > works? :)
>
> in some ways, the code reduction result is closer to the general approach
> encouraged by earlier pioneers in the field.  it's one reason there was once
> a little dismay of the choice of `lines of code produced' as a productivity metric.
> these days, it sells code generators.  not the sort that russ changed that does some real work,
> but the sort that generates thousands of lines of asn.1 parser that people then tweak by hand.
> but i digress...
>
> ken's compilers used a `copy and change' method rather than an elaborate portability
> layer (or many many layers, or many many #ifdefs, which is gcc's technique).
> in this case, however, after 15 or more architectures failed to change a copied section appreciably,
> russ declared it portable after nearly 20 years, and moved it to ../cc

the ifdefs mostly solve a different problem -- getting gcc to compile with different
compilers, with different operating systems and different c libraries. that is not
a problem that kenc addresses.

gcc's "portability" from one arch to another is based on machine definitions, rtl
(that goofy, lispy intermediate language gcc uses) and "backends".

i'm fuzzy on how these interact, but i think the rtl+machine definition does
the intermediate work, while a chip-family-specific backend does the actual code
generation.

so, since this is a stack-based email, the thesis comes last. i think the relationship between the
code in ?c is similar to that in gcc. the major difference is that ?c is targets ? whereas
it's not immediately clear what "gcc" targets. thus libtool uses i686-pc-linux-gnu-gcc.
also ?c doesn't bother with an intermediate representation like rtl.

- erik



  parent reply	other threads:[~2006-03-25 21:28 UTC|newest]

Thread overview: 125+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-25 13:56 Russ Cox
2006-03-25 19:48 ` David Leimbach
2006-03-25 19:53   ` Burton Samograd
2006-03-25 19:59     ` David Leimbach
2006-03-25 20:02   ` Charles Forsyth
2006-03-25 21:25     ` Brantley Coile
2006-03-25 21:28     ` quanstro [this message]
2006-03-25 21:33       ` Brantley Coile
2006-03-25 22:42         ` quanstro
2006-03-25 22:46         ` quanstro
2006-03-26  1:46           ` jmk
2006-03-26  2:52             ` quanstro
2006-03-26  8:14               ` Lyndon Nerenberg
2006-03-26  8:41                 ` Lyndon Nerenberg
2006-03-26 17:06                   ` Bruce Ellis
2006-03-26 17:00             ` David Leimbach
2006-03-27 17:31             ` rog
2006-03-27 19:01               ` Charles Forsyth
2006-03-27 19:15                 ` Paul Lalonde
2006-03-27 19:21                   ` Bruce Ellis
2006-03-30 17:41                   ` rog
2006-03-30 17:44                     ` Charles Forsyth
2006-03-30 18:24                       ` Skip Tavakkolian
2006-03-30 17:51                     ` Christoph Lohmann
2006-03-30 17:54                       ` Sape Mullender
2006-03-30 18:30                         ` Skip Tavakkolian
2006-03-30 18:43                           ` Gabriel Diaz
2006-03-30 18:48                             ` Skip Tavakkolian
2006-03-30 18:51                               ` Gabriel Diaz
2006-03-30 18:51                             ` Charles Forsyth
2006-03-30 21:00                           ` Bakul Shah
2006-03-30 23:16                             ` Skip Tavakkolian
2006-03-30 23:23                             ` Skip Tavakkolian
2006-03-31  6:16                               ` uriel
2006-03-31  7:56                           ` Bruce Ellis
2006-03-31  9:04                             ` Skip Tavakkolian
2006-03-30 23:32                         ` Adrian Tritschler
2006-03-30 17:57                       ` rog
2006-03-30 18:27                         ` rog
2006-03-30 20:46                           ` Roman Shaposhnick
2006-03-31  1:15                             ` Steve Simon
2006-03-31  1:24                               ` Russ Cox
2006-03-31  2:00                               ` Joel Salomon
2006-03-31  2:26                               ` Martin C. Atkins
2006-03-31  8:46                                 ` Charles Forsyth
2006-03-31  8:49                                   ` Bruce Ellis
2006-03-31 21:40                                 ` Taj Khattra
2006-03-31  4:24                             ` Jack Johnson
2006-03-31  4:33                               ` veritosproject
2006-03-30 17:58                       ` Charles Forsyth
2006-03-30 18:03                       ` jmk
2006-03-30 18:13                         ` Brantley Coile
2006-03-30 18:57                       ` Burton Samograd
2006-03-30 19:15                         ` David Leimbach
2006-03-30 19:22                           ` Charles Forsyth
2006-03-30 19:29                             ` Rob Pike
2006-03-30 19:58                               ` David Leimbach
2006-03-28  0:30 erik quanstrom
2006-03-28  0:40 erik quanstrom
2006-03-28 17:52 ` Lyndon Nerenberg
2006-03-28 18:15   ` Bakul Shah
2006-03-28 18:29     ` Sape Mullender
2006-03-28 18:52       ` LiteStar numnums
2006-03-28 19:15         ` Victor Nazarov
2006-03-29 16:33           ` Burton Samograd
2006-03-29 21:17             ` Francisco J Ballesteros
2006-03-29 21:44               ` Wes Kussmaul
2006-04-02 18:17       ` Aharon Robbins
2006-04-02 18:33         ` Bruce Ellis
2006-04-02 19:47         ` lucio
2006-04-02 20:12           ` Skip Tavakkolian
2006-04-02 20:16             ` LiteStar numnums
2006-04-03  4:35               ` lucio
2006-04-03  5:38                 ` George Michaelson
2006-04-03  6:45                   ` Lyndon Nerenberg
2006-04-03  5:38                 ` LiteStar numnums
2006-04-03  8:31                 ` Lyndon Nerenberg
2006-04-03  9:36                   ` uriel
2006-04-03 12:50                     ` Martin C. Atkins
2006-04-03  9:39                   ` lucio
2006-04-03 13:46                 ` Brantley Coile
2006-04-03 14:30                 ` David Leimbach
2006-04-03 16:02                   ` Bruce Ellis
2006-04-03 20:41                     ` Jack Johnson
2006-04-03 21:02                       ` uriel
2006-04-03 21:32                         ` Ronald G Minnich
2006-04-03 23:42                           ` Bruce Ellis
2006-04-04  0:29                           ` Anthony Sorace
2006-04-04  5:02                             ` Bruce Ellis
2006-04-04  3:15                         ` Jack Johnson
2006-04-04  3:28                         ` Jack Johnson
2006-04-04  6:31                           ` David Leimbach
2006-04-04  4:21                         ` lucio
2006-04-05  1:00                         ` Brantley Coile
2006-04-05  4:35                           ` Bruce Ellis
2006-04-04 12:31                       ` rog
2006-04-03  3:17           ` plan9
2006-04-03  4:17             ` lucio
2006-03-29  1:18 erik quanstrom
2006-03-30 20:14 Steve Simon
2006-03-31  9:17 Fco. J. Ballesteros
2006-03-31  9:40 ` Skip Tavakkolian
2006-03-31  9:42 ` Skip Tavakkolian
2006-03-31  9:43 ` Charles Forsyth
2006-03-31  9:46 ` Charles Forsyth
2006-03-31  9:48   ` Skip Tavakkolian
2006-03-31  9:56     ` Skip Tavakkolian
2006-03-31 10:01       ` Bruce Ellis
2006-03-31 10:03       ` Charles Forsyth
2006-03-31 10:08         ` Skip Tavakkolian
2006-03-31 14:58       ` David Leimbach
2006-03-31 15:01         ` Bruce Ellis
2006-03-31 22:02 ` Taj Khattra
2006-04-03 16:21 ` Ronald G Minnich
2006-04-03 17:17   ` Paul Lalonde
2006-04-03 19:01     ` Artem Letko
2006-04-03 19:22       ` Paul Lalonde
2006-03-31 12:31 Fco. J. Ballesteros
2006-03-31 12:53 ` Charles Forsyth
2006-03-31 13:23 ` Charles Forsyth
2006-03-31 14:42   ` Bruce Ellis
2006-03-31 13:27 erik quanstrom
2006-03-31 14:47 ` Bruce Ellis
2006-03-31 14:42 erik quanstrom
2006-04-03 22:54 erik quanstrom

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=ea82c1826ccb5b5d81e337c45ee8a61f@quanstro.net \
    --to=quanstro@quanstro.net \
    --cc=9fans@cse.psu.edu \
    /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).