http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60893
Bug ID: 60893 Summary: Unable to use link time optimizer with profiler Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: dturnbull at gmail dot com The following works with gcc-4.8.2. It fails with gcc-4.9.0-RC-20140411. Using this simple main.cpp: #include <iostream> #include <vector> #include <complex> int main() { std::vector<std::complex<float> > data(10); std::cout << "Hello World.\n"; } Attempt to compile and run as such: rm main.gcda g++-4.9 -o profiler main.cpp -flto -O3 -fprofile-generate ./profiler g++-4.9 -o helloworld main.cpp -flto -O3 -fprofile-use ./helloworld The linker error output is: Assertion failed: (cfiStartsArray[i] != cfiStartsArray[i-1]), function parse, file /SourceCache/ld64/ld64-236.4/src/ld/parsers/macho_relocatable_file.cpp, line 1685. 0 0x10227e0e7 __assert_rtn + 144 1 0x1022a3759 mach_o::relocatable::Parser<x86_64>::parse(mach_o::relocatable::ParserOptions const&) + 3213 2 0x1022889e2 mach_o::relocatable::Parser<x86_64>::parse(unsigned char const*, unsigned long long, char const*, long, ld::File::Ordinal, mach_o::relocatable::ParserOptions const&) + 374 3 0x1022c8303 ld::tool::InputFiles::makeFile(Options::FileInfo const&, bool) + 651 4 0x1022c9ff9 ld::tool::InputFiles::parseWorkerThread() + 271 5 0x7fff84598899 _pthread_body + 138 6 0x7fff8459872a _pthread_struct_init + 0