Closed Bug 419470 Opened 13 years ago Closed 3 years ago
Figure out why building jemalloc breaks with PGO enabled
See bug 418866 comment 6 for error details. We're just going to disable this for the time being, but we should figure out why it breaks.
My first guess is that profile-guided optimization (PGO) is being tripped up by the use of thread-local storage (TLS). If so, this is a compiler bug.
Jason: If you'd like to test this yourself, you can add this line to your mozconfig: mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) $(MOZ_OBJDIR)/_profile/pgo/profileserver.py' And then build using |make -f client.mk profiledbuild|. We're using GCC 4.1.1 (+ Redhat patches) on trunk: http://wiki.mozilla.org/ReferencePlatforms/Linux-CentOS-5.0#Make_GCC_4.1_.28redhat_branch.29
Also, for reference, I didn't see this on x86-64 with gcc 4.1.2 (Ubuntu 4.1.2-0ubuntu4)
Taras, we currently have PGO disabled for jemalloc. Can you see if this is still a problem with a modern GCC? It's just a matter of removing the NO_PROFILE_GUIDED_OPTIMIZE here: http://mxr.mozilla.org/mozilla-central/source/memory/jemalloc/Makefile.in#135
This is still busted in 4.5. Haven't had a chance to check why.
Looks fine now: https://treeherder.mozilla.org/#/jobs?repo=try&revision=36ee285db1171d5aa813f29a28154ec20cea546c
Assignee: nobody → dmajor
Attachment #8839003 - Flags: review?(mh+mozilla)
Attachment #8839003 - Flags: review?(mh+mozilla) → review+
Pushed by firstname.lastname@example.org: https://hg.mozilla.org/integration/mozilla-inbound/rev/972714aa03b2 Re-enable PGO for Linux mozjemalloc. r=glandium
You need to log in before you can comment on or make changes to this bug.