https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65559
--- Comment #33 from Matt Breedlove <breedlove.matt at gmail dot com> --- bootstrap-lto fails to build: `isl_union_map_read_from_str' referenced in section `.text' of M:\msys64\tmp\cceOtKWH.ltrans0.ltrans.o: defined in discarded section `.text' of isl_input.o (symbol from plugin) `isl_union_map_read_from_str' referenced in section `.text' of M:\msys64\tmp\cceOtKWH.ltrans0.ltrans.o: defined in discarded section `.text' of isl_input.o (symbol from plugin) `isl_union_map_copy' referenced in section `.text' of M:\msys64\tmp\cceOtKWH.ltrans0.ltrans.o: defined in discarded section ... Replacing the lto-wrapper with the one from my previous build makes these errors disappear. The patch from my previous build was the following: --- gcc-5.1.0/gcc/lto-wrapper.c.orig 2015-05-01 16:38:03.348243300 -0400 +++ gcc-5.1.0/gcc/lto-wrapper.c 2015-05-02 00:30:58.345729900 -0400 @@ -934,7 +934,7 @@ filename[p - argv[i]] = '\0'; file_offset = (off_t) loffset; } - fd = open (argv[i], O_RDONLY); + fd = open (filename, O_RDONLY|O_BINARY); if (fd == -1) { lto_argv[lto_argc++] = argv[i]; Rainer hasn't tested this yet. I'm going to do a full native bootstrap-lto with this, however it was working fine on everything else I compiled. The issue with the last tested patch was archive files with offsets were getting discarded from the build since we were back to not using the parsed archive filename.