Okay, I know it's a long shot, and maybe I'd be better off waiting for
3.12p to come out, but here goes...
I recently acquired a DEC Alpha based linux system. There are no
pre-built binaries for this system, so I need to build a
cross-compiler on my i586 system as the first step in porting GNAT to
linux-alpha. For various reasons, I've decided to try to integrate
GNAT with the current GCC 2.95 release, which merges the EGCS and GCC
projects back together, and am building a native compiler first to
make sure everything works before building the cross-compiler. I've
used the EGCS 1.1.1 set of patches, and a few of the GCC 2.8.1 patches
that hadn't been integrated, and added a couple of patches required by
changes in the GCC language inititalization code. So far, so good --
the system compiles to stage1 just fine. However, the stage1 compiler
aborts in expr.c line 6066 when compiling osint.adb. It is *not* the
MAX_TYPE_SIZE problem indicated in one of the patches, as I've fooled
around with this and still can't get past this error. I suspect some
sort of array or pointer error but haven't found the problem yet, and
since I can't give up my day job and won't give up my family, my time
to track this down is somewhat limited. I'll keep plugging away at it
in my spare time, but if anyone has any suggestions of where to look
for the problem, I'd be grateful.
But in our enthusiasm, we could not resist a radical overhaul of the
system, in which all of its major weaknesses have been exposed,
analyzed, and replaced with new weaknesses.
-- Bruce Leverett, "Register Allocation
in Optimizing Compilers"