On Fedora 17/x86-64, revision 188675: http://gcc.gnu.org/ml/gcc-cvs/2012-06/msg00585.html failed to bootstrap when configured with --with-arch=native --with-cpu=native which leads to -march=corei7-avx -mcx16 -msahf -mmovbe -maes -mpclmul -mpopcnt -mabm -mno-lwp -mfma -mno-fma4 -mno-xop -mbmi -mbmi2 -mno-tbm -mavx -mavx2 -msse4.2 -msse4.1 -mlzcnt -mrtm -mhle -mrdrnd -mf16c -mfsgsbase I got /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/g++ -B/export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/ -B/usr/gcc-4.8.0-x32-native/x86_64-unknown-linux-gnu/bin/ -nostdinc++ -B/export/build/gnu/gcc-x32-native/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs -B/export/build/gnu/gcc-x32-native/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs -I/export/build/gnu/gcc-x32-native/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu -I/export/build/gnu/gcc-x32-native/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include -I/export/gnu/import/git/gcc/libstdc++-v3/libsupc++ -L/export/build/gnu/gcc-x32-native/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs -L/export/build/gnu/gcc-x32-native/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs -c -g -O2 -DIN_GCC -fno-exceptions -fno-rtti -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I/export/gnu/import/git/gcc/gcc -I/export/gnu/import/git/gcc/gcc/. -I/export/gnu/import/git/gcc/gcc/../include -I/export/gnu/import/git/gcc/gcc/../libcpp/include -I/export/gnu/import/git/gcc/gcc/../libdecnumber -I/export/gnu/import/git/gcc/gcc/../libdecnumber/bid -I../libdecnumber /export/gnu/import/git/gcc/gcc/tree-vect-loop.c -o tree-vect-loop.o *** glibc detected *** /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/cc1plus: corrupted double-linked list: 0x0000000002408e20 *** ======= Backtrace: ========= /lib64/libc.so.6[0x339167befd] /lib64/libc.so.6[0x339167c6a8] /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/cc1plus(htab_delete+0x65)[0xf35fe5] /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/cc1plus[0xc4867b] /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/cc1plus(_Z22variable_tracking_mainv+0xbd)[0xc4a0bd] /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/cc1plus(_Z16execute_one_passP8opt_pass+0x115)[0x9a41e5] /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/cc1plus(_Z17execute_pass_listP8opt_pass+0x15)[0x9a45a5] /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/cc1plus(_Z17execute_pass_listP8opt_pass+0x27)[0x9a45b7] /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/cc1plus(_Z17execute_pass_listP8opt_pass+0x27)[0x9a45b7] /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/cc1plus[0x79a108] /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/cc1plus(_Z7compilev+0x854)[0x79be24] /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/cc1plus(_Z25finalize_compilation_unitv+0x65)[0x79c3c5] /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/cc1plus(_Z28cp_write_global_declarationsv+0xc5b)[0x5d891b] /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/cc1plus(_Z11toplev_mainiPPc+0xa34)[0xa47a44] /lib64/libc.so.6(__libc_start_main+0xf5)[0x3391621735] /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/cc1plus[0x4ff1b1] ======= Memory map: ======== 00400000-01321000 r-xp 00000000 08:11 6427104 /export/build/gnu/gcc-x32-native/build-x86_64-linux/prev-gcc/cc1plus 01520000-0152b000 rw-p 00f20000 08:11 6427104 /export/build/gnu/gcc-x32-native/build-x86_64-linux/prev-gcc/cc1plus 0152b000-02458000 rw-p 00000000 00:00 0 [heap] 3391200000-3391221000 r-xp 00000000 08:07 933270 /usr/lib64/ld-2.15.so 3391420000-3391421000 r--p 00020000 08:07 933270 /usr/lib64/ld-2.15.so 3391421000-3391422000 rw-p 00021000 08:07 933270 /usr/lib64/ld-2.15.so 3391422000-3391423000 rw-p 00000000 00:00 0 3391600000-33917ac000 r-xp 00000000 08:07 926387 /usr/lib64/libc-2.15.so 33917ac000-33919ac000 ---p 001ac000 08:07 926387 /usr/lib64/libc-2.15.so 33919ac000-33919b0000 r--p 001ac000 08:07 926387 /usr/lib64/libc-2.15.so 33919b0000-33919b2000 rw-p 001b0000 08:07 926387 /usr/lib64/libc-2.15.so 33919b2000-33919b7000 rw-p 00000000 00:00 0 3391a00000-3391a03000 r-xp 00000000 08:07 933176 /usr/lib64/libgmpxx.so.4.2.2 3391a03000-3391c03000 ---p 00003000 08:07 933176 /usr/lib64/libgmpxx.so.4.2.2 3391c03000-3391c04000 rw-p 00003000 08:07 933176 /usr/lib64/libgmpxx.so.4.2.2 3391e00000-3391ef5000 r-xp 00000000 08:07 932868 /usr/lib64/libppl.so.9.0.0 3391ef5000-33920f5000 ---p 000f5000 08:07 932868 /usr/lib64/libppl.so.9.0.0 33920f5000-33920f6000 r--p 000f5000 08:07 932868 /usr/lib64/libppl.so.9.0.0 33920f6000-33920f9000 rw-p 000f6000 08:07 932868 /usr/lib64/libppl.so.9.0.0 3392200000-3392204000 r-xp 00000000 08:07 927611 /usr/lib64/libpwl.so.5.0.0 3392204000-3392403000 ---p 00004000 08:07 927611 /usr/lib64/libpwl.so.5.0.0 3392403000-3392404000 r--p 00003000 08:07 927611 /usr/lib64/libpwl.so.5.0.0 3392404000-3392405000 rw-p 00004000 08:07 927611 /usr/lib64/libpwl.so.5.0.0 3392600000-33926f9000 r-xp 00000000 08:07 932988 /usr/lib64/libm-2.15.so 33926f9000-33928f8000 ---p 000f9000 08:07 932988 /usr/lib64/libm-2.15.so 33928f8000-33928f9000 r--p 000f8000 08:07 932988 /usr/lib64/libm-2.15.so 33928f9000-33928fa000 rw-p 000f9000 08:07 932988 /usr/lib64/libm-2.15.so 3392a00000-3392a1f000 r-xp 00000000 08:07 926018 /usr/lib64/libcloog.so.0.0.0 3392a1f000-3392c1e000 ---p 0001f000 08:07 926018 /usr/lib64/libcloog.so.0.0.0 3392c1e000-3392c1f000 r--p 0001e000 08:07 926018 /usr/lib64/libcloog.so.0.0.0 3392c1f000-3392c20000 rw-p 0001f000 08:07 926018 /usr/lib64/libcloog.so.0.0.0 3392c20000-3392c22000 rw-p 00000000 00:00 0 3392e00000-3392e65000 r-xp 00000000 08:07 924907 /usr/lib64/libgmp.so.10.0.2 3392e65000-3393064000 ---p 00065000 08:07 924907 /usr/lib64/libgmp.so.10.0.2 3393064000-339306d000 rw-p 00064000 08:07 924907 /usr/lib64/libgmp.so.10.0.2 3393200000-3393616000 r-xp 00000000 08:07 933311 /usr/lib64/libppl_c.so.4.0.0 3393616000-3393815000 ---p 00416000 08:07 933311 /usr/lib64/libppl_c.so.4.0.0 3393815000-3393816000 r--p 00415000 08:07 933311 /usr/lib64/libppl_c.so.4.0.0 3393816000-339381c000 rw-p 00416000 08:07 933311 /usr/lib64/libppl_c.so.4.0.0 3393a00000-3393a57000 r-xp 00000000 08:07 932891 /usr/lib64/libmpfr.so.4.1.0 3393a57000-3393c56000 ---p 00057000 08:07 932891 /usr/lib64/libmpfr.so.4.1.0 3393c56000-3393c58000 r--p 00056000 08:07 932891 /usr/lib64/libmpfr.so.4.1.0 3393c58000-3393c59000 rw-p 00058000 08:07 932891 /usr/lib64/libmpfr.so.4.1.0 339be00000-339bee5000 r-xp 00000000 08:07 932960 /usr/lib64/libstdc++.so.6.0.17 339bee5000-339c0e4000 ---p 000e5000 08:07 932960 /usr/lib64/libstdc++.so.6.0.17 339c0e4000-339c0ec000 r--p 000e4000 08:07 932960 /usr/lib64/libstdc++.so.6.0.17 339c0ec000-339c0ee000 rw-p 000ec000 08:07 932960 /usr/lib64/libstdc++.so.6.0.17 339c0ee000-339c103000 rw-p 00000000 00:00 0 7fffec0c6000-7fffec0c9000 rw-p 00000000 00:00 0 7fffec279000-7fffed814000 rw-p 00000000 00:00 0 7fffed9c8000-7fffee47a000 rw-p 00000000 00:00 0 7fffee610000-7fffeff1a000 rw-p 00000000 00:00 0 7ffff0118000-7ffff079b000 rw-p 00000000 00:00 0 7ffff087d000-7ffff0c9d000 rw-p 00000000 00:00 0 7ffff0cdc000-7ffff1103000 rw-p 00000000 00:00 0 7ffff1122000-7ffff1340000 rw-p 00000000 00:00 0 7ffff1361000-7ffff778e000 r--p 00000000 08:07 1575229 /usr/lib/locale/locale-archive 7ffff778e000-7ffff7793000 rw-p 00000000 00:00 0 7ffff7793000-7ffff77a8000 r-xp 00000000 08:11 6429424 /export/build/gnu/gcc-x32-native/build-x86_64-linux/prev-gcc/libgcc_s.so.1 7ffff77a8000-7ffff79a7000 ---p 00015000 08:11 6429424 /export/build/gnu/gcc-x32-native/build-x86_64-linux/prev-gcc/libgcc_s.so.1 7ffff79a7000-7ffff79a8000 rw-p 00014000 08:11 6429424 /export/build/gnu/gcc-x32-native/build-x86_64-linux/prev-gcc/libgcc_s.so.1 7ffff79a8000-7ffff79aa000 rw-p 00000000 00:00 0 7ffff79aa000-7ffff79c1000 r-xp 00000000 08:07 925387 /usr/lib64/libz.so.1.2.5 7ffff79c1000-7ffff7bc0000 ---p 00017000 08:07 925387 /usr/lib64/libz.so.1.2.5 7ffff7bc0000-7ffff7bc1000 rw-p 00016000 08:07 925387 /usr/lib64/libz.so.1.2.5 7ffff7bc1000-7ffff7bc4000 r-xp 00000000 08:07 928236 /usr/lib64/libdl-2.15.so 7ffff7bc4000-7ffff7dc3000 ---p 00003000 08:07 928236 /usr/lib64/libdl-2.15.so 7ffff7dc3000-7ffff7dc4000 r--p 00002000 08:07 928236 /usr/lib64/libdl-2.15.so 7ffff7dc4000-7ffff7dc5000 rw-p 00003000 08:07 928236 /usr/lib64/libdl-2.15.so 7ffff7dc5000-7ffff7dc6000 rw-p 00000000 00:00 0 7ffff7dc6000-7ffff7dda000 r-xp 00000000 08:07 927636 /usr/lib64/libmpc.so.2.0.0 7ffff7dda000-7ffff7fd9000 ---p 00014000 08:07 927636 /usr/lib64/libmpc.so.2.0.0 7ffff7fd9000-7ffff7fda000 r--p 00013000 08:07 927636 /usr/lib64/libmpc.so.2.0.0 7ffff7fda000-7ffff7fdb000 rw-p 00014000 08:07 927636 /usr/lib64/libmpc.so.2.0.0 7ffff7fdb000-7ffff7fdd000 rw-p 00000000 00:00 0 7ffff7ffc000-7ffff7ffe000 rw-p 00000000 00:00 0 7ffff7ffe000-7ffff7fff000 r-xp 00000000 00:00 0 [vdso] 7ffffffdb000-7ffffffff000 rw-p 00000000 00:00 0 [stack] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall] /export/gnu/import/git/gcc/gcc/tree-vect-loop.c: In function \u2018void vect_create_epilog_for_reduction(VEC_tree_heap*, gimple, int, tree_code, VEC_gimple_heap*, int, bool, slp_tree)\u2019: /export/gnu/import/git/gcc/gcc/tree-vect-loop.c:4320:1: internal compiler error: Aborted } ^ Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. make[5]: *** [tree-vect-loop.o] Error 1 make[5]: *** Waiting for unfinished jobs.... rm gcj-dbtool.pod jcf-dump.pod cpp.pod jv-convert.pod gcj.pod gc-analyze.pod gfdl.pod gij.pod gccgo.pod fsf-funding.pod grmic.pod gfortran.pod gcc.pod gcov.pod make[5]: Leaving directory `/export/build/gnu/gcc-x32-native/build-x86_64-linux/gcc' make[4]: *** [all-stage3-gcc] Error 2 make[4]: Leaving directory `/export/build/gnu/gcc-x32-native/build-x86_64-linux' make[3]: *** [stage3-bubble] Error 2 make[3]: Leaving directory `/export/build/gnu/gcc-x32-native/build-x86_64-linux' make[2]: *** [bootstrap] Error 2
There is no problem on processors where -march=native gives -march=corei7-avx -mcx16 -msahf -mno-movbe -maes -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rtm -mno-hle -mrdrnd -mf16c -mfsgsbase
(In reply to comment #0) > *** glibc detected *** > /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/cc1plus: > corrupted double-linked list: 0x0000000002408e20 *** > ======= Backtrace: ========= > /lib64/libc.so.6[0x339167befd] > /lib64/libc.so.6[0x339167c6a8] > /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/cc1plus(htab_delete+0x65)[0xf35fe5] > /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/cc1plus[0xc4867b] > /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/cc1plus(_Z22variable_tracking_mainv+0xbd)[0xc4a0bd] > /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/cc1plus(_Z16execute_one_passP8opt_pass+0x115)[0x9a41e5] > /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/cc1plus(_Z17execute_pass_listP8opt_pass+0x15)[0x9a45a5] > /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/cc1plus(_Z17execute_pass_listP8opt_pass+0x27)[0x9a45b7] > /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/cc1plus(_Z17execute_pass_listP8opt_pass+0x27)[0x9a45b7] > /export/build/gnu/gcc-x32-native/build-x86_64-linux/./prev-gcc/cc1plus[0x79a108] Are you sure about the revision? Probably dup of PR53706.
(In reply to comment #2) > Are you sure about the revision? > > Probably dup of PR53706. They could be related since bootstrap passes when I turn off FMA on i386: diff --git a/gcc/config/i386/driver-i386.c b/gcc/config/i386/driver-i386.c index 94f3819..a1fa2b7 100644 --- a/gcc/config/i386/driver-i386.c +++ b/gcc/config/i386/driver-i386.c @@ -445,7 +445,9 @@ const char *host_detect_local_cpu (int argc, const char **argv) has_popcnt = ecx & bit_POPCNT; has_aes = ecx & bit_AES; has_pclmul = ecx & bit_PCLMUL; +#if 0 has_fma = ecx & bit_FMA; +#endif has_f16c = ecx & bit_F16C; has_rdrnd = ecx & bit_RDRND; and IA64 has FMA.
Adding -g0 or -mno-fma compiles tree-vect-loop.o fine.
Dup *** This bug has been marked as a duplicate of bug 53706 ***