public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: "Paul Edwards" <mutazilah@gmail.com>
To: "Ian Lance Taylor" <iant@google.com>
Cc: "Paul Brook" <paul@codesourcery.com>, 	<gcc@gcc.gnu.org>
Subject: Re: i370 port - constructing compile script
Date: Thu, 01 Oct 2009 23:43:00 -0000	[thread overview]
Message-ID: <A23F43F5B1F647BAAC7B649A14407973@Paullaptop> (raw)
In-Reply-To: <mcrfxa3uflq.fsf@dhcp-172-17-9-151.mtv.corp.google.com>

>>> the gcc build system working. Trying to bootstrap gcc there seems
>>> like a lot
>>> of pain for no real benefit.
>>
>> The effort is mostly in the Canadian Cross.  The changes to get it to
>> bootstrap from that point are relatively small.
> 
> I think you are underestimating the work involved.

?  Note that I have *already* ported both GCC 3.2.3 and GCC 3.4.6
such that they bootstrap on MVS, in a totally non-Unix environment,
with nothing more than a C90 compiler (with zero (0) extensions).

The trouble is that in the process of doing that (ie mainly for the
Canadian Cross part), I had to:

1. Construct the config.h/auto-host by hand (having the stack
direction go the wrong way was a lot of fun for sure).
2. Got the list of files to compile by hand.
3. Constructed the compile JCL by hand.

I believe all of these things can be integrated into the existing
build process on Unix with minimal fuss if you know where to
put it.

At the time I was doing the original porting, I didn't even have
Unix, so it was easier to do it by hand.

But now I'm interested in neat, minimal integration.  With appropriate
workarounds, GCC is very close to C90 already.

> Many years ago now, when Steve Chamberlain started porting the GNU
> tools to bootstrap on Windows, he realized that the best approach was
> to write (what is now known as) cygwin.  It may sound crazy now, but
> bringing the Unix environment to yours is doable, and it has many
> ancillary benefits.

Adding POSIX to MVS 3.8j is certainly a worthwhile project.

However, I consider bashing GCC into C90-shape to be a worthwhile
project too.  For whenever you're on a non-Posix system, not just
MVS.  E.g. DOS/VS, or CMS, or MUSIC/SP, or TPF, or MVT, or
MFT, or some of the others I have heard mentioned.  :-)

I'm really only interested in DOS/VS, CMS, MUSIC/SP.  Maybe
TPF as well.  But bringing POSIX to them is a separate exercise
to writing the 1000 lines (literally) of assembler that is required to
get them to work.  GCC 3.4.6 is 850,000 lines of (generated)
assembler code.  But the way things are structured, it only requires
1000 lines for each of those different targets (to do I/O).

MVS and CMS are already done.  MUSIC/SP is half done (the
person doing the port died).  DOS/VS is not done, although a
couple of people started an attempt.

Adding POSIX to all those environments may be done at some
point in the future, but no-one has even started, and everyone
wants native support regardless.  Can you imagine if GCC was
running on Unix with some sort of emulated-MVS I/O?  You'd
rip out that nonsense and replace it with native POSIX in an
instant.  CMS actually supports emulated MVS I/O too, and
indeed, that's what the first port was.  But someone has already
spent the effort to replace it with native CMS I/O, which gets
around various restrictions.

I think that we have now reached the point where two quite
different cultures meet.  :-)  People have been freaking out a
bit on the MVS side too.  :-)

BFN.  Paul.

  reply	other threads:[~2009-10-01 23:43 UTC|newest]

Thread overview: 114+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-09 22:33 i370 port Paul Edwards
2009-09-14 15:42 ` Ulrich Weigand
2009-09-15 12:59   ` Paul Edwards
2009-09-15 13:51     ` Ulrich Weigand
2009-09-17 13:00       ` Paul Edwards
2009-09-17 17:55         ` Ulrich Weigand
2009-09-18  0:35           ` Paul Edwards
2009-09-18 12:06             ` Ulrich Weigand
2009-09-18 12:23               ` Paul Edwards
2009-09-18 13:27                 ` Ulrich Weigand
2009-09-18 13:42                   ` Paul Edwards
2009-09-18 16:08                     ` Ulrich Weigand
2009-09-19 12:57                       ` Paul Edwards
2009-09-25 10:19                       ` Paul Edwards
2009-09-25 15:20                         ` Ulrich Weigand
2009-09-30 17:24                           ` i370 port - constructing compile script Paul Edwards
2009-09-30 17:36                             ` Richard Henderson
2009-09-30 21:40                               ` Paul Edwards
     [not found]                                 ` <mcrpr98x9w8.fsf@dhcp-172-17-9-151.mtv.corp.google.com>
2009-10-01  0:16                                   ` Joseph S. Myers
2009-10-01 14:00                                     ` Paul Edwards
2009-10-02 12:41                                     ` Paul Edwards
2009-10-02 16:00                                       ` Ian Lance Taylor
2009-10-02 22:53                                         ` Paul Edwards
2009-10-04  4:11                                           ` Ian Lance Taylor
2009-10-04  5:14                                             ` Paul Edwards
2009-10-04  6:04                                               ` Ian Lance Taylor
2009-10-04  6:50                                                 ` Paul Edwards
2009-10-04 15:38                                                   ` Ulrich Weigand
2009-10-04 22:51                                                     ` Paul Edwards
2009-10-05 13:15                                                       ` Ulrich Weigand
2009-10-06  9:32                                                         ` Paul Edwards
2009-10-06 13:15                                                           ` Ulrich Weigand
2009-10-06 13:38                                                             ` Paul Edwards
2009-10-06 14:01                                                               ` Ulrich Weigand
2009-10-14 14:33                                                                 ` Paul Edwards
2009-10-19 14:19                                                         ` Paul Edwards
2009-10-19 17:37                                                           ` Ulrich Weigand
2009-10-20 14:18                                                             ` Paul Edwards
2009-10-20 15:30                                                               ` Ulrich Weigand
2009-11-12 14:03                                                             ` Paul Edwards
2009-11-12 20:06                                                               ` Ralf Wildenhues
2009-11-12 20:56                                                                 ` Paul Edwards
2009-11-13 11:43                                                                 ` Paul Edwards
2009-11-13 12:01                                                                   ` Ulrich Weigand
2009-11-13 12:18                                                                     ` Paul Edwards
2009-11-13 12:57                                                                       ` Ulrich Weigand
2009-11-14  8:52                                                                         ` Paul Edwards
2009-11-14 10:49                                                                           ` Ralf Wildenhues
2009-11-14 11:28                                                                             ` Paul Edwards
2009-11-22  0:51                                                                               ` Paolo Bonzini
2009-11-18 10:51                                                                             ` Paul Edwards
2009-11-19 14:27                                                                               ` Ulrich Weigand
2009-11-21 13:40                                                                                 ` Paul Edwards
2009-11-23 10:33                                                                                 ` i370 port - 3.4.6 to 4.4 upgrade attempt Paul Edwards
2009-11-23 10:43                                                                                   ` Andreas Schwab
2009-11-23 15:43                                                                                   ` Paolo Bonzini
2009-11-24 14:05                                                                                   ` Ulrich Weigand
2009-11-24 14:36                                                                                     ` Paul Edwards
2009-11-28 15:14                                                                                     ` i370 port - music/sp - possible generic gcc problem Paul Edwards
2009-11-28 16:03                                                                                       ` Richard Guenther
2009-11-28 16:35                                                                                         ` Paul Edwards
2009-11-28 17:03                                                                                           ` Richard Guenther
2009-11-28 23:44                                                                                             ` Paul Edwards
2010-05-26 14:40                                                                                         ` i370 port - status Paul Edwards
2021-03-14  5:55                                                                                         ` negative indexes Paul Edwards
2021-03-14  8:05                                                                                           ` Richard Biener
2021-03-14  8:12                                                                                             ` Paul Edwards
2021-03-14 13:37                                                                                               ` Richard Biener
     [not found]                                                                                                 ` <755065BE2A0B4B508DD3A262B2A83801@DESKTOP0OKG1VA>
2021-03-15  9:22                                                                                                   ` Richard Biener
2021-03-15 13:55                                                                                                     ` extended segments on 80386 Paul Edwards
2009-12-07 12:05                                                                                     ` i370 port - 3.4.6 to 4.4 upgrade attempt Paul Edwards
2009-12-08 13:55                                                                                       ` Ulrich Weigand
2009-11-15 14:22                                                                         ` i370 port - finally building Paul Edwards
2009-11-22  0:46                                                                   ` i370 port - constructing compile script Paolo Bonzini
2009-11-13 12:08                                                               ` Ulrich Weigand
2009-10-05 13:17                                                   ` Michael Matz
2009-10-05 13:38                                                     ` Paul Edwards
2009-10-05 13:46                                                       ` Michael Matz
2009-10-01 14:28                             ` Paul Brook
2009-10-01 16:00                               ` Paul Edwards
2009-10-01 18:36                                 ` Ian Lance Taylor
2009-10-01 23:43                                   ` Paul Edwards [this message]
2009-10-01 21:10                                 ` David Edelsohn
2009-10-01 22:22                                   ` Toon Moene
2009-10-02  0:19                                     ` Paul Edwards
2009-11-04  5:21                       ` i370 port Paul Edwards
2009-11-04 16:47                         ` Ulrich Weigand
2009-11-09 14:55                           ` Paul Edwards
2009-11-09 15:57                             ` Ian Lance Taylor
2009-11-09 23:10                               ` Paul Edwards
2009-11-10 14:58                               ` Paul Edwards
2009-11-10 15:36                                 ` Ian Lance Taylor
2009-11-10 15:51                               ` Paul Edwards
2009-11-10 15:56                                 ` Ian Lance Taylor
2009-12-02 22:03                                   ` Paul Edwards
2011-08-13  8:34                           ` Paul Edwards
2011-08-15 14:32                             ` Ulrich Weigand
2011-08-15 15:26                               ` Paul Edwards
2011-08-15 17:23                                 ` Ulrich Weigand
2011-08-16 11:20                                   ` Paul Edwards
2011-08-16 13:26                                     ` Ulrich Weigand
2011-08-18 12:15                                       ` Paul Edwards
2011-08-18 13:14                                         ` Ulrich Weigand
2011-08-18 14:18                                           ` Paul Edwards
     [not found] <OF0A51B575.29A29744-ON42257656.0067E35B-42257656.00682411@de.ibm.com>
2009-10-22  9:06 ` i370 port - constructing compile script Paul Edwards
2009-10-22 19:26   ` Ulrich Weigand
2009-10-22 22:04     ` Paul Edwards
2009-10-23 14:36     ` Paul Edwards
2009-10-23 14:58       ` Ian Lance Taylor
2009-10-23 15:16       ` Ulrich Weigand
2009-10-24  0:20         ` Paul Edwards
2009-10-24  4:11           ` Ulrich Weigand
2009-10-27 12:18             ` Paul Edwards
2009-11-02 14:45 Paul Edwards

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=A23F43F5B1F647BAAC7B649A14407973@Paullaptop \
    --to=mutazilah@gmail.com \
    --cc=gcc@gcc.gnu.org \
    --cc=iant@google.com \
    --cc=paul@codesourcery.com \
    /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).