From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10355 invoked by alias); 5 Jun 2009 12:45:06 -0000 Received: (qmail 10325 invoked by uid 22791); 5 Jun 2009 12:45:03 -0000 X-SWARE-Spam-Status: No, hits=-1.1 required=5.0 tests=BAYES_05,SPF_PASS X-Spam-Check-By: sourceware.org Received: from rv-out-0708.google.com (HELO rv-out-0708.google.com) (209.85.198.250) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 05 Jun 2009 12:44:57 +0000 Received: by rv-out-0708.google.com with SMTP id l33so129813rvb.56 for ; Fri, 05 Jun 2009 05:44:54 -0700 (PDT) Received: by 10.141.37.8 with SMTP id p8mr27010rvj.142.1244205894855; Fri, 05 Jun 2009 05:44:54 -0700 (PDT) Received: from Paullaptop (124-168-137-88.dyn.iinet.net.au [124.168.137.88]) by mx.google.com with ESMTPS id g31sm31723253rvb.33.2009.06.05.05.44.50 (version=SSLv3 cipher=RC4-MD5); Fri, 05 Jun 2009 05:44:53 -0700 (PDT) Message-ID: From: "Paul Edwards" To: Subject: i370 port Date: Fri, 05 Jun 2009 12:45:00 -0000 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=original Content-Transfer-Encoding: 7bit Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2009-06/txt/msg00094.txt.bz2 Hello GCC maintainers. There used to be an i370 target for GCC. It was written in 1989, and put into GCC 2.5 in 1993. It has always been semi-working, but never good enough to actually use. It was dropped from GCC 4 when there was supposedly no maintainer available. Actually, Dave Pitts and myself were both maintaining it at that time, but we were both still working on an old version of it (3.2). So gcc 3.4.6, circa 2004, was the last time it was included in the normal GCC distribution. We were both maintaining it, and continue to maintain it, because MVS doesn't have any alternate free C compiler available. As of yesterday, after years of work, an i370 version was released that is now fully working. The code generator has no known bugs that would stop it from being C90-compliant, and GCC can fully regenerate itself, with full optimization. You can see it here: http://gccmvs.sourceforge.net It's based on GCC 3.2.3. There is also a free i370 emulator (Hercules) and a free i370-based operating system (MVS/380) that enables the compiler to be fully tested and fully regenerate itself on its native environment. Not only that, but there is an effort underway to allow this free environment to be made available on the internet so that Unix users can do an MVS build (takes around 4 hours if done properly - ie 3 stage, full optimization, on an emulated machine), from the safety of their Unix box. Both of those products are also under active development by a community of mainframe enthusiasts. In addition, that code has been ported to GCC 3.4.6, which is now working as a cross-compiler at least. It's still some months away from working natively though. It takes a lot of effort to convert the Posix-expecting GCC compiler into C90 compliance. This has been done though, in a way that has minimal code changes to the GCC mainline. There is a lot of other activity (e.g. availability of REXX, PL/1, Cobol) that rests on the C compiler being available. So, my question is - what is required to get the i370 port reinstated into the GCC mainline? Yes, I'm aware that there is an S/390 port, but it isn't EBCDIC, isn't HLASM, isn't 370, isn't C90, isn't MVS. It may well be possible to change all those things, and I suspect that in a few years from now I may be sending another message asking what I need to do to get all my changes to the s390 target into the s390 target. At that time, I suspect there will be a lot of objection to "polluting" the s390 target with all those "unnecessary" things. So, here's hoping that the i370 port can end up where it was originally intended to end up, and that all the effort that was spent in the GCC mainline to get rid of the ASCII assumptions can now be put to good use. BFN. Paul.