https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64081
Aldy Hernandez <aldyh at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #40666|0 |1 is obsolete| | --- Comment #39 from Aldy Hernandez <aldyh at gcc dot gnu.org> --- Created attachment 40673 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40673&action=edit patchset to bootstrap gcc on AIX 7.2 (gcc119) The minimum tree I could build to reproduce on gcc119 (AIX 7.2) was: /scratch/aldyh/src/gcc/configure \ --disable-nls --disable-multilib \ --disable-libgomp --disable-libsanitizer --enable-languages=c \ --disable-werror --with-gmp=/opt/cfarm --with-libiconv-prefix=/opt/cfarm --disable-libstdcxx-pch --with-included-gettext && make -jXXX The attached patch has various changes: 1. cp/ changes to coerce the native GCC 6.1.0 to build GCC5 sources at this point in time. This is the problem described here: bz 69959. 2. varasm.c hacks to avoid a spurious build failure during stage2: In file included from /scratch/aldyh/src/gcc/gcc/omp-low.c:31:0: /scratch/aldyh/src/gcc/gcc/gimple.h: In function 'tree_node* gimple_call_arg(con st_gimple, unsigned int)': /scratch/aldyh/src/gcc/gcc/gimple.h:2991:1: error: tree_node* gimple_call_arg(co nst_gimple, unsigned int) causes a section type conflict with unsigned int gimpl e_omp_subcode(const_gimple) gimple_call_arg (const_gimple gs, unsigned index) 3. libstdc++-v3/configure hacks. The mother of ugly hacks to work around a hard error while configuring libstdc++ during stage1: /scratch/aldyh/src/gcc/libstdc++-v3/configure[20770]: syntax error at line 46067 : `;' unexpected /scratch/aldyh/src/gcc/libstdc++-v3/configure[20770]: syntax error at line 19 : `)' unexpected Interestingly, adding "echo" statements throughout and removing the cross glibc code in libstdc++-v3/configure makes the problem go away, and it's safe to do so because we know we're not building a cross. This is all the code originally in libstdc++-v3/configure.ac on the else branch of "if $GLIBCXX_IS_NATIVE". 4. And finally, the loop-iv.c patch which holds the changes in this PR we are trying to test. With this horrendous set of patches we can see that r226811 fails to bootstrap, while r226814 starts to magically work. The bootstrap failure can be seen immediately after building the stage2 gcc/ files. As soon as this compiler is used to configure it's own libgcc, we segfault. Even [["echo void foo(){}" > foo.c && gcc/cc1 -O1 a.c]] segfaults. I will investigate further.