Well I have good news to report.
I applied most of your recommended changes, but it still crashed,
still at the same spot:
<built-in>:0: internal compiler error: Segmentation fault
However, I managed to track it down to some floating point stuff
in the i370 code, and got rid of that, and now I can compile a
"hello, world" program!
The changes to 4.4.0 required to do that can be found here:
http://rapidshare.com/files/317504205/gcc4-alpha6.zip
I can see one significant change: the GCC middle-end now no
longer supports base-16 floating point at all. The old i370
port was the only user of this feature, and some time after
the port was removed, the middle-end support was removed as
well in order to simplify floating-point handling code.
The s390 port uses IEEE float instead of hex float throughout,
so it is not affected by this change.
I found that if I didn't define anything for this at all, it still worked.
I'm not sure when the lack of "hex float" will actually start
affecting me. I got it to generate code like:
LD 0,=D'5.5999999...e+0'
which will only require minor modifications to be acceptable to
HLASM. And in fact, that's basically the same code that was
being generated with GCC 3.4.6 anyway.
In the meantime, I'll see how much of gcc 4.4 can be self-compiled.
BFN. Paul.