I’ve spent a long, long, LONG time building – or trying to build – GCC versions, on the platforms available to me.
I’ve learned quite a bit, although mainly that GCC builds are not tested before being released, and the build system is extremely complex, undocumented, buggy *and* depends on a number of other builds systems, which are also complex, undocumented and buggy.
Most GCC versions on most platforms do not build. x86_64 does better, and most versions build – I think only 4.3.x and 4.4.x fail to build.
On the Raspberry Pi, the first version can build is 4.7.3, because of the floating point options chosen when building the Raspbian glibc.
On PINE64 (64-bit ARM), the earliest version which can be built is 4.8.0, as that introduced aarch64.
On mipsel (MIPS32, little endian variant) building is painfully slow, and highly error prone as the Ci20 dev board freezes up a lot under high load, but I think I can build 4.5 onwards.
For now, I’ve build (or tried to build, see above!) the final point release of each minor release.
Now I’ve just started using these compilers with the build system.
I’ve discovered right away that 4.2.4 (and earlier) on x86_64 do not understand -mcx16 (16 byte CAS) and so the build fails.
The build system builds all variants, and test, and benchmark and runs both, and collects the gnuplots from benchmark.
Tomorrow, I’ll be running them through on every platform, and we’ll see what we get!