https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69394
Bug ID: 69394 Summary: [5.3] ICE when linking with lto Product: gcc Version: 5.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto Assignee: unassigned at gcc dot gnu.org Reporter: daniel.f.starke at freenet dot de Target Milestone: --- Created attachment 37410 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37410&action=edit ICE backtrace Configured with: ../../src/gcc-5.3.0/configure --enable-languages=c,c++ --enable-seh-exceptions --enable-threads=posix --disable-nls --enable-shared=libstdc++ --enable-static --enable-fully-dynamic-string --enable-lto --enable-plugin --enable-libgomp --with-dwarf2 --disable-win32-registry --enable-version-specific-runtime-libs --prefix=/mingw --with-sysroot=/mingw --target=x86_64-w64-mingw32 --enable-targets=all --enable-checking=yes --with-gmp=/new-gcc/lib/gmp-5.0.5 --with-mpfr=/new-gcc/lib/mpfr-2.4.2 --with-mpc=/new-gcc/lib/mpc-0.9 --with-isl=/new-gcc/lib/isl-0.12.2 --with-cloog=/new-gcc/lib/cloog-0.18.3 --with-host-libstdcxx='-lstdc++ -lsupc++' --disable-cloog-version-check --enable-cloog-backend=isl Linking my C++ application leads to an ICE. The command invoked is: x86_64-w64-mingw32-g++ -O3 -s -static -municode -D_UNICODE -Wl,--allow-multiple-definition -flto -flto-partition=none -fuse-linker-plugin -Wl,--gc-sections -Llib64 -L../libpcfxx/lib64 -o bin/pp.exe bin/pp.o bin/posix_main.o bin/pp/Script.o bin/pp/Execution.o bin/pp/Variable.o bin/pp/Shell.o bin/pp/Database.o bin/pp/Type.o bin/pp/parser/Utility.o lib64/libpcfxx.a -lpcfxx -lboost_program_options -lboost_locale -lboost_filesystem -lboost_iostreams -lboost_date_time -lboost_thread -lboost_regex -lboost_system -lpcf -lsqlite3 -lws2_32 Passing -fno-use-linker-plugin instead of -fuse-linker-plugin works just fine even if all files were compiled with -flto (flat object file). Attached you can find the backtrace of the ICE.