From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27768 invoked by alias); 12 Nov 2009 14:03:46 -0000 Received: (qmail 27636 invoked by uid 22791); 12 Nov 2009 14:03:44 -0000 X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=BAYES_00,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail-pw0-f57.google.com (HELO mail-pw0-f57.google.com) (209.85.160.57) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 12 Nov 2009 14:03:35 +0000 Received: by pwi2 with SMTP id 2so1435753pwi.16 for ; Thu, 12 Nov 2009 06:03:33 -0800 (PST) Received: by 10.114.215.14 with SMTP id n14mr6138318wag.99.1258034613077; Thu, 12 Nov 2009 06:03:33 -0800 (PST) Received: from Paullaptop (203-158-49-56.dyn.iinet.net.au [203.158.49.56]) by mx.google.com with ESMTPS id 22sm1705010pxi.6.2009.11.12.06.03.29 (version=SSLv3 cipher=RC4-MD5); Thu, 12 Nov 2009 06:03:31 -0800 (PST) Message-ID: From: "Paul Edwards" To: "Ulrich Weigand" Cc: "Ian Lance Taylor" , References: <200910191419.n9JEJcvD023336@d12av02.megacenter.de.ibm.com> In-Reply-To: <200910191419.n9JEJcvD023336@d12av02.megacenter.de.ibm.com> Subject: Re: i370 port - constructing compile script Date: Thu, 12 Nov 2009 14:03:00 -0000 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="Windows-1252"; 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-11/txt/msg00333.txt.bz2 Well, I have good news to report. The restructuring was a success. That means with those 30-odd changes to the configure scripts, I was able to get an auto-host.h built that allowed me to take the generated source and compile it with my own scripts as per normal. There's still a stack more work to do of course, such as reversing out the ansidecl.h change, which is pretty horrible: #ifdef PUREISO #include "../gcc/unixio.h" #include "../gcc/config/i370/mvspdp.h" #endif I needed to put in the relative path to allow compilation. However, now I would like to know: 1. I think my unixio.h, which has a stack of POSIX functions that need to be there (mkdir, pwait, open, fileno etc), needs to be considered "honorary ansi" (after all, so much code assumes that they exist) and get included in ansidecl, with unixio.h living in include, and unixio.c living in libiberty. Does that sound reasonable? 2. A 3rd EBCDIC port has recently been achieved - MUSIC/SP. As part of doing that port I ran into an old problem - IFOX's 399 external limitation. On MVS and CMS we had people who knew how to modify IFOX. On MUSIC, we don't. I have a code workaround: #define flag_test_coverage gflags[0] #define flag_branch_probabilities gflags[1] #define flag_reorder_blocks gflags[2] #define flag_reorder_functions gflags[3] #define flag_rename_registers gflags[4] #define flag_force_mem gflags[5] #define flag_force_addr gflags[6] #define flag_defer_pop gflags[7] #define flag_float_store gflags[8] #define flag_strength_reduce gflags[9] etc What would be really good is if flags.h and toplev.c had a consecutive block of flags, so that even if my few lines of intrusive code aren't accepted, it's at least easy for me to mask out an entire block. At the moment I have to look for a few largish chunks of flags to mask out. I'm not sure how many I need to mask out in total. I'll be experimenting with that in the coming days on one computer, while on the other computer I will be getting the compile scripts auto-generated from the file list. I haven't tried linking with the auto-generated file list yet. I know that it is a bit different from my list (by something like 10 files), but haven't yet determined if it is functional anyway. I'll come back to making the configure changes more streamlined after the rest of the stuff is working. BTW, with MUSIC/SP done, VSE is the only currently-used EBCDIC programming environment without a GCC port, and in fact, probably the only computer system (definition: has assembler, has editor, has programmers who use that editor, commercially-used) in existence without a free C compiler (and thus, to me, preventing C from being a truly universal language for computers). And there's only about 1000 lines of assembler in the way of that happening. Unfortunately it's the same 1000 lines we've been waiting for several years for. :-) But I will be concentrating on making the MUSIC/SP port look nicer first. If I can get DYNALLOC working for output datasets, it should be fine. Otherwise, the workaround for that problem is pretty horrible. :-) Anyway, thanks guys for your help. I'll post the code after I've cleaned it up further. BFN. Paul.