Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 499650

Summary: www-client/firefox fix for PGO compilation
Product: Gentoo Linux Reporter: Daniel Rammelt <d.rammelt>
Component: Current packagesAssignee: Mozilla Gentoo Team <mozilla>
Status: RESOLVED DUPLICATE    
Severity: normal CC: bircoph, main.haarp
Priority: Normal Keywords: PATCH
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Patch for Makefile.in
Patch for 24.2.0 ebuild

Description Daniel Rammelt 2014-01-29 03:43:35 UTC
The PGO use flag does not work in current Gentoo ebuilds. I have created 2 patches which resolve this.

Patch one is for the ebuild itself which corrects the pgo call and adds the 2nd patch.
http://pastebin.com/CvKNnd7a

Patch two fixes the missing build option in the Makefile.in 'pgo-profile-run'.
http://pastebin.com/D2fTDBeM

Patches are against www-client/firefox-24.2.0, have tested against version 26 also.

Compiled with use flags as follows.
www-client/firefox-26.0-r1::x-portage  USE="alsa bindist dbus gstreamer jit libnotify minimal pgo startup-notification system-cairo system-icu system-jpeg system-sqlite -custom-cflags -custom-optimization -debug -pulseaudio (-selinux) -wifi"


Reproducible: Always




The PGO script itself profileserver.py uses port 8888 which conflicts with the default port used by BTSync. BTSync must be closed before compilation.
Comment 1 Daniel Rammelt 2014-01-29 03:44:36 UTC
Created attachment 369030 [details, diff]
Patch for Makefile.in
Comment 2 Daniel Rammelt 2014-01-29 03:45:05 UTC
Created attachment 369032 [details, diff]
Patch for 24.2.0 ebuild
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2014-01-29 10:30:51 UTC
USE=pgo is still masked.

*** This bug has been marked as a duplicate of bug 388585 ***
Comment 4 Daniel Rammelt 2014-01-29 17:46:17 UTC
I dont understand, this is not a duplicate of the bugs mentioned. I am proposing a fix not a bug, besides most of those bugs are unrelated to the actual PGO build error that is recieved when building the current versions of firefox.

Can you atleast suggest how these patches get put into firefox?
Comment 5 Ian Stakenvicius (RETIRED) gentoo-dev 2014-01-30 14:57:23 UTC
They don't, because we don't support PGO (which is the reason for the RESO/DUP status and linked bug).  We are not ever going to include PGO patches in the tree for firefox et. al. until/unless this stance changes.

Furthermore, user-contributed patches that do support PGO should go as attachments to the aforementioned bug, to keep them all in one place.

Firefox et. al. ebuilds do have "epatch_user" support, for those that do want to try and use PGO, to make applying supporting patches easier.
Comment 6 microcai 2014-11-01 02:18:05 UTC
check  https://developer.mozilla.org/en-US/docs/Building_with_Profile-Guided_Optimization

the page says "
You must have tests enabled (do not include --disable-tests in your build 
configuration).
"

so, you shoud enable test and pgo both, otherwise , make wooun't be able to find  gpo build target
Comment 7 . 2015-03-09 21:29:14 UTC
(In reply to microcai from comment #6)
> check 
> https://developer.mozilla.org/en-US/docs/Building_with_Profile-
> Guided_Optimization
> 
> the page says "
> You must have tests enabled (do not include --disable-tests in your build 
> configuration).
> "
> 
> so, you shoud enable test and pgo both, otherwise , make wooun't be able to
> find  gpo build target

"test" USE flag isn't needed, I've compiled FF 36.0.1 only by following instructions on http://forums.gentoo.org/viewtopic-p-7490084.html

btw. performance increase is ~5% according to peacekeeper benchmark