You are not logged in.
I would say no chances If we cannot build it default, chance to build experimental qt gui are minimal...
Proud ex-maintainer of firefox-pgo
Offline
I was able to build the new 3.5rc1 pgo package with the "$OBJDIR/_profileprofile" shell script but it would not start properly..... I got the "$prog" ${1+"$@"} error when trying to start it in the terminal.
So I just built it normally and ran a profile shell script to create /_profileprofile in my ~/.mozilla/firefox directory, then I ran the browser as it was running that shell script through the mozilla dromaeo performance tests for 33 minutes and closed it afterwards..... Then I created a new profile and used the ~/.mozilla/firefox/_profileprofile directory for my new profile.
this is the shell script I have been running after the build:
#!/bin/sh
export NO_EM_RESTART=1
mkdir $OBJDIR/home/seventy3/.mozilla/firefox/_profileprofile
$OBJDIR/usr/bin/firefox -no-remote -profile $OBJDIR/home/seventy3/.mozilla/firefox/_profileprofile
I'm not sure if this really helps or not.
As the browser is running this script I run these dromaeo tests.... I use the 'Run All Tests' selection: http://dromaeo.com/
The tests take about 33 minutes for me, then I close the browser. I have tried running both the sunspider tests first, and then the dromaeo tests and I have had my browser freeze. When forcing it to close my terminal also had this same "$prog" ${1+"$@"} error. When only running the dromaeo tests I didn't get that error.
Just to say this one more time, I don't think any of this actually improved anything..... my benchmark tests are still the exact same for before and after.
Last edited by methuselah (2009-06-14 19:12:10)
Offline
With seenxu's post I was able to get firefox 3.5rc1 compiled.
This is NOT a pgo build
I used firefox-pgo as the base for this pkgbuild.
PKGBUILD:
pkgname=firefox-beta
pkgver=3.5rc1
pkgrel=1
pkgdesc="Mozilla Firefox. XULRunner independent."
arch=('i686' 'x86_64')
license=('MPL' 'GPL' 'LGPL')
depends=('gtk2>=2.16.0' 'gcc-libs>=4.3.3' 'libidl2>=0.8.13' 'mozilla-common' 'nss>=3.12.2' 'libxt' 'lcms' 'startup-notification>=0.9' 'desktop-file-utils' 'shared-mime-info' 'libxt' 'zlib' 'libjpeg' 'nspr' 'libpng' 'cairo')
makedepends=('zip' 'pkgconfig' 'diffutils' 'python' 'xorg-server' 'imagemagick' 'alsa-lib' 'file')
provides=('firefox'="$pkgver")
conflicts=('firefox')
install=firefox.install
url="http://www.mozilla.org/projects/firefox"
source=(http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/3.5rc1-candidates/build1/source/firefox-3.5rc1-source.tar.bz2
mozconfig
firefox.desktop
firefox-safe.desktop
)
md5sums=('f237f4c8a08e46b5cf0786e20ccce69f'
'8fe6f005bb6ff0aba4b141c3c71b252f'
'4b766d6d21e1168dd365f467e4275e13'
'1034e29d85c2d22faeb5899732321559')
build() {
cd ${srcdir}/mozilla-1.9.1
cp ${srcdir}/mozconfig .mozconfig
make DESTDIR=${pkgdir} -f client.mk install || return 1
install -m755 -d ${pkgdir}/usr/share/applications
install -m755 -d ${pkgdir}/usr/share/pixmaps
convert "$srcdir"/mozilla-1.9.1/other-licenses/branding/firefox/mozicon50.xpm ${pkgdir}/usr/share/pixmaps/firefox.png || return 1
install -m644 ${srcdir}/firefox.desktop ${pkgdir}/usr/share/applications/ || return 1
install -m644 ${srcdir}/firefox-safe.desktop ${pkgdir}/usr/share/applications/ || return 1
#Remove devel stuff
rm -rf "$pkgdir"/usr/include/
rm -rf "$pkgdir"/usr/lib/firefox-devel-${pkgver}/
rm -rf "$pkgdir"/usr/share/idl/
return 0
}
mozconfig
# load defaults from src tarball
. $topsrcdir/browser/config/mozconfig
# add our own options
ac_add_options --prefix=/usr --libdir=/usr/lib
ac_add_options --with-system-nspr --with-system-nss --with-system-jpeg --with-system-zlib --with-system-png --with-system-lcms --enable-system-cairo --enable-system-sqlite
ac_add_options --with-pthreads
ac_add_options --enable-optimize
ac_add_options --enable-default-toolkit=cairo-gtk2 --disable-freetype2 --enable-xft
ac_add_options --disable-tests --disable-installer --disable-updater --disable-debug --disable-profilesharing --enable-single-profile --disable-mochitest
ac_add_options --enable-official-branding
ac_add_options --enable-jemalloc
ac_add_options --enable-libxul
ac_add_options --disable-xprint
ac_add_options --disable-crashreporter --disable-parental-controls
#ac_add_options --enable-xinerama
ac_add_options --enable-safe-browsing --enable-webservices
ac_add_options --enable-strip
mk_add_options MOZ_MAKE_FLAGS=-j3
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/ff-opt-obj
Last edited by pyther (2009-06-14 03:21:56)
Offline
After weeks of trying, I got it working thanks to bond's configuration (with --enable-profile-guided-optimization in mozconfig). x86_64 both 3.5b4, 3.5b99 and rc1 can be compiled now. Only thing missing is ogg support, enabling it always ends in error at nsOggDecoder.
To get something done, a committee should consist of no more than three persons, two of them absent.
--
My Github
Offline
http://rapidshare.com/files/244414970/f … eta.tar.gz
Pkgbuild for 3.5rc1 testing build one - --enable-profile-guided-optimization added, but it's still not compiling for me.
Proud ex-maintainer of firefox-pgo
Offline
http://rapidshare.com/files/244414970/f … eta.tar.gz
Pkgbuild for 3.5rc1 testing build one - --enable-profile-guided-optimization added, but it's still not compiling for me.
This PKGBUILD worked for me (well.. almost) - even though I'm running i686 I could not make PGO compile before.
Firefox itself compiled just fine, the PKGBUILD failed for me on:
sed: nie mozna odczytac /home/rumil/src/pkgs/firefox-pgo-beta/pkg/usr/lib/pkgconfig/*.pc: Nie ma takiego pliku ani katalogu
(for non Pol's : no such file exist).
Actually no *.pc files exist in ${pkgdir}.
The browser runs _almost_ fine ;-). I did't get any segfaults, however: I usally use futuremark.com/peacekeeper to benchark browsers, but this build just hangs for me on testing string operations. Maybe I'll try again with JIT disabled.
Offline
The names are not correct, I cannot corect them myself before because it won't build for me
Glad it works for someone, sad not for me
Proud ex-maintainer of firefox-pgo
Offline
My build stops here:
OBJDIR=/home/moz/Desktop/firefox/src/mozilla-1.9.1/ff-pgo python /home/moz/Desktop/firefox/src/mozilla-1.9.1/ff-pgo/_profile/pgo/profileserver.py
INFO | (automation.py) | Application pid: 6004
ERROR: ld.so: object 'libfakeroot.so' from LD_PRELOAD cannot be preloaded: ignored.
Xlib: extension "RANDR" missing on display ":1.0".
Xlib: extension "Generic Event Extension" missing on display ":1.0".
Xlib: extension "Generic Event Extension" missing on display ":1.0".
Xlib: extension "Generic Event Extension" missing on display ":1.0".
Xlib: extension "Generic Event Extension" missing on display ":1.0".
Xlib: extension "Generic Event Extension" missing on display ":1.0".
localhost.localdomain - - [14/Jun/2009 18:54:39] "GET /index.html HTTP/1.1" 200 -
localhost.localdomain - - [14/Jun/2009 18:54:39] "GET /quit.js HTTP/1.1" 200 -
localhost.localdomain - - [14/Jun/2009 18:54:40] code 404, message File not found
localhost.localdomain - - [14/Jun/2009 18:54:40] "GET /favicon.ico HTTP/1.1" 404 -
localhost.localdomain - - [14/Jun/2009 18:54:43] code 404, message File not found
localhost.localdomain - - [14/Jun/2009 18:54:43] "GET /favicon.ico HTTP/1.1" 404 -
FreeFontPath: FPE "/usr/share/fonts/misc" refcount is 2, should be 1; fixing.
I say 'stops' because it doesnt really fail, it just sits there without doing anything. Supposedly thats where firefox would load and the profiling would take place..but i see no firefox window.
Where does your build fail blasse?
PS.:those xlib errors are unrelated to this.
Edit: i was talking about rc1
Last edited by moz (2009-06-14 18:17:30)
Offline
Maybe try with --disable-freetypetest in mozconfig? Didn't encounter such error before... My build fail excatly where before - with error 11...
Comment out lines
LD_PRELOAD="" /usr/bin/Xvfb -nolisten tcp -extension GLX :1 &
XPID=$!
export DISPLAY=:1
.
.
kill $XPID
Profiling will start in normal X, so if something goes wrong, you can manually exit profiling window
Proud ex-maintainer of firefox-pgo
Offline
moved to mozilla-central tree with minefield, pgo built fine,
something do with the flags (-ftest-coverage -fprofile-arcs) in the export CFLAGS/CXXFLAGS lines still causes the segmentation fault for me
pkgbuild:
pkgname=firefox
pkgver=central
pkgrel=15062009
pkgdesc="Mozilla Firefox, tracemonkey-enabled, XULRunner independent, and optimized"
arch=(i686 x86_64)
license=('MPL' 'GPL' 'LGPL')
depends=('gtk2>=2.12.0' 'pango>=1.24.0' 'gcc-libs' 'libxt' 'libidl2' 'mozilla-common' 'nss>=3.11.7' 'desktop-file-utils' 'cairo>=1.8.0' 'libpng>=1.2.24-3')
makedepends=('zip' 'imagemagick' 'pkgconfig' 'gcc' 'diffutils' 'autoconf-compat' 'python')
replaces=('firefox')
conflicts=('firefox')
provides=('firefox'="$pkgver")
install=firefox.install
url="http://www.mozilla.org/projects/firefox"
source=(mozconfig
firefox.desktop
firefox-safe.desktop
profileserver.sh)
build() {
cd ${srcdir}/
export LDFLAGS="-Wl,-rpath,/usr/lib/firefox-${pkgver}"
make -j1 -f client.mk profiledbuild MOZ_MAKE_FLAGS="${MAKEFLAGS}" || return 1
make -j1 DESTDIR=${pkgdir} -C ./ff-bin install || return 1
install -m755 -d ${pkgdir}/usr/share/applications
install -m755 -d ${pkgdir}/usr/share/pixmaps
install -m644 ${srcdir}/browser/branding/unofficial/default48.png ${pkgdir}/usr/share/pixmaps/firefox.png || return 1
install -m644 ${srcdir}/firefox.desktop ${pkgdir}/usr/share/applications/ || return 1
install -m644 ${srcdir}/firefox-safe.desktop ${pkgdir}/usr/share/applications/ || return 1
}
mozconfig
. $topsrcdir/browser/config/mozconfig
MAKEFLAGS="-j3"
ac_add_options --enable-application=browser
mk_add_options MOZ_CO_PROJECT=browser
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/ff-bin
mk_add_options PROFILE_GEN_SCRIPT=@TOPSRCDIR@/profileserver.sh
ac_add_options --enable-optimize
ac_add_options --enable-profile-guided-optimization
ac_add_options --disable-debug
ac_add_options --disable-tests
ac_add_options --prefix=/usr
ac_add_options --libdir=/usr/lib
ac_add_options --with-pthreads
#ac_add_options --with-user-appdir=.mozilla
ac_add_options --disable-installer
ac_add_options --disable-updater
ac_add_options --enable-strip
#ac_add_options --enable-install-strip
#ac_add_options --enable-official-branding
#ac_add_options --enable-extensions=default
ac_add_options --disable-safe-browsing
ac_add_options --disable-crashreporter
#ac_add_options --disable-parental-controls
#ac_add_options --disable-accessibility
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --enable-xft
ac_add_options --enable-xinerama
#ac_add_options --disable-freetype2
ac_add_options --enable-pango
ac_add_options --enable-system-cairo
ac_add_options --enable-svg
ac_add_options --enable-canvas
ac_add_options --enable-jemalloc
#ac_add_options --enable-system-sqlite
#ac_add_options --enable-webservices
#ac_add_options --enable-xpctools
ac_add_options --disable-xprint
#ac_add_options --disable-jsd
#ac_add_options --disable-javaxpcom
#ac_add_options --disable-ogg
#ac_add_options --disable-printing
#ac_add_options --disable-xpcom-obsolete
ac_add_options --disable-mochitest
ac_add_options --disable-pedantic
#ac_add_options --enable-native-uconv
#ac_add_options --disable-oji
ac_add_options --with-system-zlib
ac_add_options --with-system-png
#ac_add_options --with-system-nspr
#ac_add_options --with-system-nss
#ac_add_options --with-system-jpeg
#ac_add_options --with-system-lcms
makepkg.conf
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe"
CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe"
Offline
moved to mozilla-central tree with minefield, pgo built fine,
something do with the flags (-ftest-coverage -fprofile-arcs) in the export CFLAGS/CXXFLAGS lines still causes the segmentation fault for me
Hey bond, trying to do this myself, but having a hard time finding the minefield source code, and found that it is not provided. So how did you manage to compile from minefield?
EDIT: Used mercurial to use the central trunk, and did build a pgo firefox. Typing on it right now!! Thanks bond.
Last edited by oddsocks (2009-06-16 09:03:01)
Offline
bond wrote:moved to mozilla-central tree with minefield, pgo built fine,
something do with the flags (-ftest-coverage -fprofile-arcs) in the export CFLAGS/CXXFLAGS lines still causes the segmentation fault for me
Hey bond, trying to do this myself, but having a hard time finding the minefield source code, and found that it is not provided. So how did you manage to compile from minefield?
Getting Mozilla Source Code Using Mercurial
Last edited by bangkok_manouel (2009-06-15 12:43:40)
Offline
Thanks bangkok_manouel, I'll look into it. Google must have failed me
Offline
firefox-pgo compiled for me fine, but I got this error when I opened Firefox:
http://omploader.org/vMXU2ZA/firefox.jpg
( I am on x86_64 )
Last edited by FallenWizard (2009-06-15 17:03:31)
Offline
So we have new error in our collection Have no idea what this one means...:/
Proud ex-maintainer of firefox-pgo
Offline
Ok, works fine now, I just had an old instance of Firefox 3.0.11 loaded.
http://omploader.org/vMXU3MA/firefox.jpg
EDIT: I removed the CFLAGS/CXXFLAGS and replaced the LDFLAGS line with
export LDFLAGS="-Wl,-rpath,/usr/lib/firefox-${pkgver}"
Can be that's not a PGO build anymore, but Firefox runs quite fast.
Last edited by FallenWizard (2009-06-15 17:19:10)
Offline
It's PGO, you just removed some optimizations It will work just fine that way.
btw.
http://rapidshare.com/files/244880456/f … pgo.tar.gz (also in first topic).
New 3.0.11 with patches from xulrunner - please test and report back if it compiles and works fine
Proud ex-maintainer of firefox-pgo
Offline
It's PGO, you just removed some optimizations It will work just fine that way.
btw.
http://rapidshare.com/files/244880456/f … pgo.tar.gz (also in first topic).
New 3.0.11 with patches from xulrunner - please test and report back if it compiles and works fine
Please don't use rapidshare, use omploader.
Offline
blasse wrote:It's PGO, you just removed some optimizations It will work just fine that way.
btw.
http://rapidshare.com/files/244880456/f … pgo.tar.gz (also in first topic).
New 3.0.11 with patches from xulrunner - please test and report back if it compiles and works finePlease don't use rapidshare, use omploader.
Proud ex-maintainer of firefox-pgo
Offline
Maybe try with --disable-freetypetest in mozconfig? Didn't encounter such error before... My build fail excatly where before - with error 11...
Comment out linesLD_PRELOAD="" /usr/bin/Xvfb -nolisten tcp -extension GLX :1 & XPID=$! export DISPLAY=:1 . . kill $XPID
Profiling will start in normal X, so if something goes wrong, you can manually exit profiling window
Removing the gtk-qt-engine fixed it... For some reason ff3.5 doesnt exit properly when the engine is in use, i can see one ff process still alive after quitting and when i SIGTERM'd that process the build would fail.
I actually managed to build rc1 but it failed when it was creating the pkg exactly at this line in the pkgbuild
sed -i -e "s/xulrunner-${pkgver}/xulrunner-1.9.1/g" -e "s/xulrunner-devel-${pkgver}/xulrunner-devel-1.9.1/g" ${pkgdir}/usr/lib/pkgconfig/*.pc || return 1
asking about some missing .pc files..
Offline
Try changing this line to:
sed -i -e "s/${pkgname}-${pkgver}/mozilla-1.9.1/g" -e "s/mozilla-devel-${pkgver}/mozilla-devel-1.9.1/g" ${pkgdir}/usr/lib
I know it's wrong, but i cannot correct it myself
Proud ex-maintainer of firefox-pgo
Offline
This is not very productive but the 3.5b99 on AUR worked like a charm for me. No problems what so ever (despite the long compilation). I did dare going to compile RC1 due to all this thread and due to the long compilation time.
3.5-pgo is fast though.
Arch x64 on Thinkpad X200s/W530
Offline
With seenxu's post I was able to get firefox 3.5rc1 compiled.
This is NOT a pgo buildI used firefox-pgo as the base for this pkgbuild.
PKGBUILD:
I'm getting a error
Creating package directory...
mkdir: cannot create directory `../../dist/firefox': No such file or directory
make[2]: *** [stage-package] Error 1
make[2]: Leaving directory `/var/abs/local/firefox-beta/src/mozilla-1.9.1/ff-opt-obj/browser/installer'
make[1]: *** [install] Error 2
make[1]: Leaving directory `/var/abs/local/firefox-beta/src/mozilla-1.9.1/ff-opt-obj'
make: *** [install] Error 2
Offline
Someone have any 3.1/3.5 version compiled for 64 bits that work? I cannot make eithe pgo or no-pgo to run (tested with 3.1b3 3.5b4 3.5b99 3.5rc1) I get segfaults on startup.
Offline
None of this may be correct or necessary, but this is what I did since I can't build pgo at all since 3.1b3
Someone have any 3.1/3.5 version compiled for 64 bits that work? I cannot make eithe pgo or no-pgo to run (tested with 3.1b3 3.5b4 3.5b99 3.5rc1) I get segfaults on startup.
I just ditched the pgo, and built a normal optimized build with CFLAGS/LDFLAGS that compiles correctly using blasses firefox-pgo-beta tarball.
Before building the package I modified my /etc/makepkg.conf file's CFLAGS to not use the "-O2" or "-pipe" optimizations since the mozilla optimizer does this already in the mozconfig file. (I did this because someone had said that exporting CFLAGS had caused a problem..... I'm not sure if this is true but why chance it)
Then I added this patch from the bug page: https://bug418866.bugzilla.mozilla.org/ … ?id=372234
.... and I modified the patch from this comment 47: https://bugzilla.mozilla.org/show_bug.cgi?id=418866#c47
Then I modified the PKGBUILD to not use the profile shell script, or client.mk profiledbuild, and to add the new patch and md5sums:
# Contributor: blasse <koralik(at)gmail(dot)com>
pkgname=firefox-pgo-beta
pkgver=3.5rc1
pkgrel=1
pkgdesc="Mozilla Firefox, this one is tracemonkey-enabled. XULRunner independent. And optimized for faster use :)"
arch=('i686' 'x86_64')
license=('MPL' 'GPL' 'LGPL')
depends=('gtk2>=2.16.0' 'gcc-libs>=4.3.3' 'libidl2>=0.8.13' 'mozilla-common' 'nss>=3.12.2' 'libxt' 'lcms' 'startup-notification>=0.9' 'desktop-file-utils' 'shared-mime-info' 'libxt' 'zlib' 'libjpeg' 'nspr' 'libpng' 'cairo')
makedepends=('zip' 'pkgconfig' 'diffutils' 'python' 'xorg-server' 'imagemagick' 'alsa-lib' 'file')
provides=('firefox'="$pkgver")
conflicts=('firefox')
install=firefox.install
url="http://www.mozilla.org/projects/firefox"
source=(
#ftp://ftp.mozilla.org/pub/firefox/nightly/"$pkgver"-candidates/build2/source/firefox-"$pkgver"-source.tar.bz2
http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/3.5rc1-candidates/build1/source/firefox-3.5rc1-source.tar.bz2
mozconfig
firefox.desktop
firefox-safe.desktop
mozilla-firefox-1.0-lang.patch
fix-mozilla-launcher.patch
ldflags.patch
ldflags2.patch)
options=('!makeflags')
md5sums=('f237f4c8a08e46b5cf0786e20ccce69f'
'206cb66d926202f01e74d332ee35820a'
'4b766d6d21e1168dd365f467e4275e13'
'1034e29d85c2d22faeb5899732321559'
'e5aff38bf1dc7e885694d967e3806e07'
'63eee2d1da3b43c9d604f2253f242f40'
'9e461e5fc73b241d68d08be908405a5e'
'195b68dfe55210379a601bf71d5577ca')
build() {
cd ${srcdir}/mozilla-1.9.1
patch -Np1 -i ${srcdir}/mozilla-firefox-1.0-lang.patch || return 1
#Fix stub launcher - archlinux
patch -Np0 -i ${srcdir}/fix-mozilla-launcher.patch || return 1
#Add -lxrender -lx11 LDFLAGS.
patch -Np1 -i ${srcdir}/ldflags2.patch || return 1
patch -Np1 -i ${srcdir}/ldflags.patch || return 1
cp ${srcdir}/mozconfig .mozconfig
#simple shll scrip for gathering data seems to work better - you have 15s to run some site for profiling.
# cp ${srcdir}/profileserver.sh profileserver.sh
LD_PRELOAD="" /usr/bin/Xvfb -nolisten tcp -extension GLX :1 &
XPID=$!
export DISPLAY=:1
#if building for redistribution use "-march=i686" or "-march=x86_64" instead of native.
#note: redistributing self-builded firefox with official branding violates mozilla EULA license. Be warned ;)
# -O flag can be used safely - mozillas code overwrites -O flag with own one if defined.. If not compiling try using -O0 (diasble optimize) - probably will fail too ;).
# export CFLAGS="-march=athlon64-sse3 -floop-interchange -floop-strip-mine -floop-block"
# export CXXFLAGS="-march=athlon64-sse3 -floop-interchange -floop-strip-mine -floop-block"
export LDFLAGS="-Wl,-O1 -Wl,--rpath,/usr/lib/firefox-${pkgver},--hash-style=gnu"
# unset CFLAGS
# unset CXXFLAGS
# sed -e 's/#CFLAGS#/'"$CFLAGS"'/g' <"$srcdir"/mozconfig >.mozconfig
LD_PRELOAD=""
#for PGO build
# make clean -j1 -f client.mk profiledbuild MOZ_MAKE_FLAGS="${MAKEFLAGS}" || return 1
#for non-PGO build
make -j1 -f client.mk MOZ_MAKE_FLAGS="${MAKEFLAGS}" || return 1
kill $XPID
make -j1 DESTDIR=${pkgdir} -C ff-pgo install || return 1
install -m755 -d ${pkgdir}/usr/share/applications
install -m755 -d ${pkgdir}/usr/share/pixmaps
convert "$srcdir"/mozilla-1.9.1/other-licenses/branding/firefox/mozicon50.xpm ${pkgdir}/usr/share/pixmaps/firefox.png || return 1
install -m644 ${srcdir}/firefox.desktop ${pkgdir}/usr/share/applications/ || return 1
install -m644 ${srcdir}/firefox-safe.desktop ${pkgdir}/usr/share/applications/ || return 1
#Remove devel stuff
rm -rf "$pkgdir"/usr/include/
rm -rf "$pkgdir"/usr/lib/firefox-devel-${pkgver}/
rm -rf "$pkgdir"/usr/share/idl/
return 0
}
The ldflags2 patch:
diff -r b8f1ba61d9bc configure.in
--- a/configure.in Fri Apr 10 16:42:29 2009 -0400
+++ b/configure.in Sat Apr 11 21:02:10 2009 +0200
@@ -7099,28 +7099,28 @@ MOZ_ARG_DISABLE_BOOL(profile-guided-opti
[ --disable-profile-guided-optimization
Don't build with PGO even if called via make profiledbuild],
MOZ_PROFILE_GUIDED_OPTIMIZE_DISABLE=1,
MOZ_PROFILE_GUIDED_OPTIMIZE_DISABLE=)
AC_SUBST(MOZ_PROFILE_GUIDED_OPTIMIZE_DISABLE)
_SAVE_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS -fprofile-generate"
+CFLAGS="$CFLAGS -fprofile-generate -fprofile-correction -fprofile-arcs -ftest-coverage"
AC_MSG_CHECKING([whether C compiler supports -fprofile-generate])
AC_TRY_COMPILE([], [return 0;],
- [ PROFILE_GEN_CFLAGS="-fprofile-generate"
+ [ PROFILE_GEN_CFLAGS="-fprofile-generate -fprofile-correction -fprofile-arcs -ftest-coverage"
result="yes" ], result="no")
AC_MSG_RESULT([$result])
if test $result = "yes"; then
PROFILE_GEN_LDFLAGS="-fprofile-generate"
- PROFILE_USE_CFLAGS="-fprofile-use"
- PROFILE_USE_LDFLAGS="-fprofile-use"
+ PROFILE_USE_CFLAGS="-fprofile-use -fprofile-correction -fprofile-arcs -ftest-coverage"
+ PROFILE_USE_LDFLAGS="-fprofile-use -fprofile-correction -fprofile-arcs"
else
CFLAGS="$_SAVE_CFLAGS -fprofile-arcs"
AC_MSG_CHECKING([whether C compiler supports -fprofile-arcs])
AC_TRY_COMPILE([], [return 0;],
[ PROFILE_GEN_CFLAGS="-fprofile-arcs"
result="yes" ], result="no")
AC_MSG_RESULT([$result])
if test $result = "yes"; then
diff -r b8f1ba61d9bc memory/jemalloc/Makefile.in
--- a/memory/jemalloc/Makefile.in Fri Apr 10 16:42:29 2009 -0400
+++ b/memory/jemalloc/Makefile.in Sat Apr 11 21:02:10 2009 +0200
@@ -112,18 +112,15 @@ DIST_INSTALL = 1
DIST_INSTALL = 1
FORCE_STATIC_LIB= 1
endif
CSRCS = \
jemalloc.c \
$(NULL)
-#XXX: PGO on Linux causes problems here
-# See bug 419470
-NO_PROFILE_GUIDED_OPTIMIZE = 1
endif
include $(topsrcdir)/config/rules.mk
ifeq (Darwin,$(OS_TARGET))
LDFLAGS += -init _jemalloc_darwin_init
endif
This part might not be necessary at all.
Then after building it I run this script using "-no-remote -profile". (I'm not sure if this actually does anything)
#!/bin/sh
export NO_EM_RESTART=1
mkdir $OBJDIR/home/"your_name"/.mozilla/firefox/_profileprofile
$OBJDIR/usr/bin/firefox -no-remote -profile $OBJDIR/home/"your_name"/.mozilla/firefox/_profileprofile
Then as it is running as 'firefox -no-remote -profile' I do the dromaeo "All Tests" from here: http://dromaeo.com/?all
After that I close the browser, then I ran:
firefox -ProfileManage
and I create a new profile and use the newly created "/home/"your_name"/.mozilla/firefox/_profileprofile" directory for it. My benchmarks are still the same, but it still feels fast and quick when opening..... I'm sure a real pgo build would be much better. (I also compared all files in /_profileprofile and they are the exact same..... so this package is probably just an optimized firefox-3.5rc1 with no real pgo)
Last edited by methuselah (2009-06-16 23:31:00)
Offline