This means that if your GCC source tree resides in a directory, say, ~/gcc-src you should *not* run ./configure while in ~/gcc-src. Instead, you should create a second, empty directory ~/gcc-build (which is not a subdirectory of ~/gcc-src), and run ../gcc-src/configure ... while in ~/gcc-build.
Ok, I tried that, and it still didn't fix the problem. Not only that, after I fixed the problem (below), I ended up getting an error that way. input.h not found or something like that. So I went back to the source tree build, and made quite a lot of progress. First of all, the problem was obvious in hindsight. I had commented out a whole lot of stuff in configure in order to stop things from being auto-detected. However, that was interfering with the configure for the build environment!!! So I put #if !defined(__MVS__) around everything that I was commenting out, and I was able to get past genmodes and on to the next error. The next error was that it was trying to use ino_t in a header file, which doesn't exist. The way I got around this using my own procedure was to create a unixio.h which has the various Posix stuff in it. E.g. I have an open() that calls fopen(). ino_t is one of the typedefs there. Anyway, I put a #include "unixio.h" into config.h and got past that problem. I don't think that was the right thing to do though, because that is a generated file. What should I have done instead? A #include of "config/i370/mvspdp.h" got around the next problem, and I think I need to do more investigation as to why that was needed. Then finally I ran into an internal compiler error which I haven't seen before. One of the gcc options must have triggered something off. Perhaps it was -Wwrite-strings, or maybe the -O2 (I normally use -Os for a completely unrelated reason). Either way, I need to find out how to switch off those flags. I'll also try to fix the compiler internal error in i370.md. BFN. Paul.