Building Mozilla with pgo results in a binary that can't even start to generate profiling data. Turns out that even CXX="g++ --coverage" and CC="gcc --coverage" resulting a binary that segfaults on start.
The crash looks like #0 0x00007ffff40807c1 in strlen () from /lib/libc.so.6 #1 0x00007ffff6823a92 in __gcov_init () from /tmp/xulrunner/dist/bin/libxul.so #2 0x00007ffff6824f56 in __do_global_ctors_aux () from /tmp/xulrunner/dist/bin/libxul.so #3 0x00007ffff51888ab in _init () from /tmp/xulrunner/dist/bin/libxul.so #4 0x00007fffffffe908 in ?? () #5 0x00007ffff7dee429 in ?? () from /lib64/ld-linux-x86-64.so.2 #6 0x00007ffff7dee5af in ?? () from /lib64/ld-linux-x86-64.so.2 #7 0x00007ffff7de1b2a in ?? () from /lib64/ld-linux-x86-64.so.2 #8 0x0000000000000001 in ?? () #9 0x00007fffffffeb8c in ?? () #10 0x0000000000000000 in ?? () Looks like the info parameter passed to __gcov_init is buggered. This broken in gcc 4.4-trunk, didn't test on prior releases. -- Summary: gcov is initialized wrong on x86_64 Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: gcov-profile AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tglek at mozilla dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43825