building it for different targets and different hosts
.
[1] aarch64-unknown-linux-gnu-6.5.0
[2] aarch64-unknown-linux-gnu-9.3.0 *
[3] armv5tel-softfloat-linux-gnueabi-6.5.0 *
[4] armv5tel-softfloat-linux-gnueabi-9.3.0
[5] armv7a-unknown-linux-gnueabihf-6.5.0
[6] armv7a-unknown-linux-gnueabihf-8.4.0
[7] armv7a-unknown-linux-gnueabihf-9.3.0 *
[8] hppa-unknown-linux-gnu-6.5.0
[9] hppa-unknown-linux-gnu-9.3.0 *
[10] hppa64-unknown-linux-gnu-6.5.0
[11] hppa64-unknown-linux-gnu-9.3.0 *
[12] i686-pc-linux-gnu-4.9.4-gnat2016
[13] i686-pc-linux-gnu-6.5.0
[14] i686-pc-linux-gnu-7.3.1-gnat2018
[15] i686-pc-linux-gnu-7.5.0
[16] i686-pc-linux-gnu-8.3.1-gnat2019
[17] i686-pc-linux-gnu-8.4.0
[18] i686-pc-linux-gnu-9.3.0 *
[19] i686-pc-linux-gnu-10.2.0
[20] mips-unknown-linux-gnu-4.1.2-legacy
[21] mips-unknown-linux-gnu-4.5.3-legacy
[22] mips-unknown-linux-gnu-6.5.0
[23] mips-unknown-linux-gnu-9.3.0 *
[24] mips64-unknown-linux-gnu-6.5.0
[25] mips64-unknown-linux-gnu-9.3.0 *
[26] mipsel-unknown-linux-gnu-4.5.3-legacy
[27] mipsel-unknown-linux-gnu-6.5.0
[28] mipsel-unknown-linux-gnu-9.3.0 *
[29] powerpc-unknown-linux-gnu-6.5.0
[30] powerpc-unknown-linux-gnu-9.3.0 *
[31] powerpc64-unknown-linux-gnu-9.3.0 *
[32] sparc64-unknown-linux-gnu-6.5.0 *
[33] sparc64-unknown-linux-gnu-9.3.0
[34] x86_64-pc-linux-gnu-10.2.0 *
[35] x86_64-pc-linux-gnu-12.0.0 *
v12 and v13 fail on Catalyst and/or don't correctly work (see my topic about Gcc-v12 on mipsel ... still unsolved), so this is currently my working environment for production, and there are tons of patches applied, some are architecture-{ target, host }-specific.
Since gcc >=v4.1.2, I haven't seen the situation improve, but on the contrary, I see things getting messed up at every new release.
OK, here's a Gentoo problem with ebuilds, eclasses and EAPIs, and policies (e.g. we don't want
language+=ada, nor do we want
language+=modula2, only
language=c, c++, fortran) ...
... but hey? the
sys-devel/gcc-* ebuilds
- are - always have been - the hardest in the world to maintain
- with still so critical that it even has two dedicated eclasses to build and make sure it is built correctly
- and despite everything and after 13 big releases gcc still needs a laaaarrrrgggggeeeee number of patches
- that are constantly being requested to "tame" or "cheat" the host environment
cross-compiling gcc is ... frustrating (indeed I native compile it under QEMU/$arch)
adapting gcc is ... frustrating (indeed I savagely hack it)
getting your hands on it to simply move working directories or add functions is ... frustrating, and the gcc C code itself is written so bad that trying to analyze the project with Stood or AAL ... is impossible as the tool explode in thousand error messages.
This is *very* frustrating on Catalyst as never know if it will fail or succeed, everything is always very random, and it's always so fail-prone that costs a lot of human power to maintain.
On the top of it, I think this reflects
how badly structure gcc is as a project.
GNU Gcc ---> gcc new GNU Gcc ---> ngccThey would have to re-engineer it and rewrite it from scratch, at least ... in the form of a parallel branch.