[PATCH][tips] Getting PGO working with firefox 23

Howard Goldstein hg at queue.to
Thu Aug 22 14:06:33 UTC 2013


This was a very interesting (in the sense of a curse) problem because
the moz folks have such a powerful build system that they're in the
middle of reworking.

Clang is awesome but doesn't have dynamic optimization yet, a la PGO,
and it makes a huge difference on my nancy boy Asus notepad when PGO is
not running.

0000


To get PGO working with ff23, first apply the recent patch that gets rid
of --disable-tests in bsd.gecko.mk;   --disable-tests must not be
present or else PGO building will fail.

 While in bsd.gecko.mk because I am on STABLE-9 I also disabled the
jemalloc enable and all of the jemalloc config defs.  (nb., thunderbird
wont build with gcc47 or 48 if jemalloc is enabled even if PGO is off)

At this point you should have --disable-tests gone and maybe jemalloc.
The shar that follows include the two patches to get past the compile
failure at the gmake -C ipc export   phase (this failure states that
target "app/Makefile" doesn't exist.

73 es gl


-------------- next part --------------
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	www/firefox/files/patch-ipc-app-defs-mk-hg
#	www/firefox/files/patch-ipc-app-makefile-hg
#
echo x - www/firefox/files/patch-ipc-app-defs-mk-hg
sed 's/^X//' >www/firefox/files/patch-ipc-app-defs-mk-hg << '22f0a9787a8546df50e85c2fc1c7894f'
X--- /dev/null	2013-08-21 19:22:00.000000000 -0400
X+++ ipc/app/defs.mk	2013-08-21 19:27:50.215271320 -0400
X@@ -0,0 +1,14 @@
X+# This Source Code Form is subject to the terms of the Mozilla Public
X+# License, v. 2.0. If a copy of the MPL was not distributed with this
X+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
X+
X+ifneq (android,$(MOZ_WIDGET_TOOLKIT))
X+MOZ_CHILD_PROCESS_NAME := plugin-container$(BIN_SUFFIX)
X+else
X+# We want to let Android unpack the file at install time, but it only does
X+# so if the file is named libsomething.so. The lib/ path is also required
X+# because the unpacked file will be under the lib/ subdirectory and will
X+# need to be executed from that path.
X+MOZ_CHILD_PROCESS_NAME := lib/libplugin-container.so
X+endif
X+MOZ_CHILD_PROCESS_BUNDLE := plugin-container.app/Contents/MacOS/
22f0a9787a8546df50e85c2fc1c7894f
echo x - www/firefox/files/patch-ipc-app-makefile-hg
sed 's/^X//' >www/firefox/files/patch-ipc-app-makefile-hg << '9f266ec68e447a0b7818c92729a0f2ce'
X--- ipc/app/Makefile.in.orig	2013-08-21 19:20:19.845263790 -0400
X+++ ipc/app/Makefile.in	2013-08-21 19:25:06.175265126 -0400
X@@ -9,6 +9,9 @@
X 
X include $(DEPTH)/config/autoconf.mk
X 
X+include $(topsrcdir)/ipc/app/defs.mk
X+PROGRAM = $(MOZ_CHILD_PROCESS_NAME)
X+
X ifneq ($(dir $(PROGRAM)),./)
X   GENERATED_DIRS = $(dir $(PROGRAM))
X endif
9f266ec68e447a0b7818c92729a0f2ce
exit

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 253 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-gecko/attachments/20130822/cbe64c01/attachment.sig>


More information about the freebsd-gecko mailing list