You are not logged in.
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
kazuo wrote: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)
Probably not true. Pkgbuild uses '!makeflags' in options line, so it should disable all system-wide set cflags. After disabling it, makepkg should export only the one defined in pkgbuild.
I will try and add you ldflags2 patch to new rc1 release - maybe this will help? Update should be ready today
ps. jemalloc part seems to be already in code...
Last edited by blasse (2009-06-17 05:44:57)
Proud ex-maintainer of firefox-pgo
Offline
methuselah wrote: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
kazuo wrote: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)
Probably not true. Pkgbuild uses '!makeflags' in options line, so it should disable all system-wide set cflags. After disabling it, makepkg should export only the one defined in pkgbuild.
I will try and add you ldflags2 patch to new rc1 release - maybe this will help? Update should be ready today
It has my C[XX]FLAGS shown when compiling through the whole build. I had always thought that UNSET C[XX]FLAGS was what usually stops the C[XX]FLAGS during the firefox build..... and I always thought that was just in the PKGBUILD because most people have -O2 in their CFLAGS and mozilla optimize uses -Os for most of the optimize flags.... I could be totally wrong about this..... I had also thought !makeflags was for the makeflags set in the makepkg.conf like -j3? like I said, I could be totally wrong about all of this because this is all still new to me.
For example, this is from the abs firefox PKGBUILD:
cp "${srcdir}/mozconfig" .mozconfig
unset CFLAGS
unset CXXFLAGS
export LDFLAGS="-Wl,-rpath,/usr/lib/firefox-3.0"
Usually I have had my C[XX]FLAGS exported along with the LDFLAGS so I wouldn't need to edit my 'makepkg.conf', but I had read somewhere someone had said that there had been an issue with exporting..... is there a way I can check if my flags were used?
Last edited by methuselah (2009-06-17 06:01:46)
Offline
As for C[XX]FLAGS - maybe than we should try first unset, than export? Most of the commonly used flags mozilla uses in sourcecode, so --enable-optimize in mozconfig will set them.
btw. If you set C[XX]FLAG that is already used by mozilla code (like - Ox), the mozilla one is used (gcc.4.4 uses last set flag of each type. Flags defined in code are added later that our own).
ps. Is jemalloc part of you patch is working for you in 3.5rc1?
Proud ex-maintainer of firefox-pgo
Offline
As for C[XX]FLAGS - maybe than we should try first unset, than export? Most of the commonly used flags mozilla uses in sourcecode, so --enable-optimize in mozconfig will set them.
btw. If you set C[XX]FLAG that is already used by mozilla code (like - Ox), the mozilla one is used (gcc.4.4 uses last set flag of each type. Flags defined in code are added later that our own).
ps. Is jemalloc part of you patch is working for you in 3.5rc1?
I trust however you want to do your package, I wasn't trying to hijack it or anything.
#################################################################
Just in case I started another build in the exact same way using that same PKGBUILD, this is what the results look like:
1440x900 view: http://i480.photobucket.com/albums/rr16 … ot-2-9.png
1440x900 view: http://i480.photobucket.com/albums/rr16 … t-3-11.png
1440x900 view: http://i480.photobucket.com/albums/rr16 … t-4-10.png
I also have the output from the terminal just in case I missed something that isn't using my flags (I stopped the build after about 1 minute). I here is a part of it that shows my C[XX]FLAGS:
gcc -o host_nsinstall.o -c -march=athlon64-sse3 -floop-interchange -floop-strip-mine -floop-block -DXP_UNIX -O3 -I/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/config -I. -I../../../dist/include -I../../../dist/include -I/usr/include/nspr -I/sdk/include -I/usr/include/nspr /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/config/nsinstall.c
pathsub.c
gcc -o host_pathsub.o -c -march=athlon64-sse3 -floop-interchange -floop-strip-mine -floop-block -DXP_UNIX -O3 -I/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/config -I. -I../../../dist/include -I../../../dist/include -I/usr/include/nspr -I/sdk/include -I/usr/include/nspr /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/config/pathsub.c
gcc -o nsinstall -march=athlon64-sse3 -floop-interchange -floop-strip-mine -floop-block -DXP_UNIX -O3 host_nsinstall.o host_pathsub.o
make[5]: Leaving directory `/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/ff-pgo/js/src/config'
/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/ff-pgo/js/src/config/nsinstall -D ../../dist/include/js
make[5]: Entering directory `/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/ff-pgo/js/src/config'
rm -f nfspwd
cp /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/config/nfspwd.pl nfspwd
chmod +x nfspwd
rm -f revdepth
cp /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/config/revdepth.pl revdepth
chmod +x revdepth
/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/ff-pgo/js/src/config/nsinstall -R nsinstall ../../../dist/bin
if test ! -d system_wrappers_js; then mkdir system_wrappers_js; fi
/usr/bin/perl /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/config/preprocessor.pl -DOSTYPE=\"Linux2.6\" -DOSARCH=Linux -DHAVE_64BIT_OS=1 -DD_INO=d_ino -DSTDC_HEADERS=1 -DHAVE_ST_BLKSIZE=1 -DHAVE_SIGINFO_T=1 -DJS_HAVE_STDINT_H=1 -DJS_BYTES_PER_WORD=8 -DJS_BITS_PER_WORD_LOG2=6 -DJS_ALIGN_OF_POINTER=8 -DJS_BYTES_PER_DOUBLE=8 -DHAVE_INT16_T=1 -DHAVE_INT32_T=1 -DHAVE_INT64_T=1 -DHAVE_UINT=1 -DHAVE_UNAME_DOMAINNAME_FIELD=1 -DHAVE_CPP_2BYTE_WCHAR_T=1 -DHAVE_VISIBILITY_HIDDEN_ATTRIBUTE=1 -DHAVE_VISIBILITY_ATTRIBUTE=1 -DHAVE_DIRENT_H=1 -DHAVE_GETOPT_H=1 -DHAVE_SYS_BITYPES_H=1 -DHAVE_MEMORY_H=1 -DHAVE_UNISTD_H=1 -DHAVE_GNU_LIBC_VERSION_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_X11_XKBLIB_H=1 -DHAVE_SYS_STATVFS_H=1 -DHAVE_SYS_STATFS_H=1 -DHAVE_SYS_VFS_H=1 -DHAVE_SYS_MOUNT_H=1 -DHAVE_MMINTRIN_H=1 -DNEW_H=\<new\> -DHAVE_SYS_CDEFS_H=1 -DHAVE_LIBM=1 -DHAVE_LIBDL=1 -DHAVE_DLADDR=1 -D_REENTRANT=1 -DHAVE_RANDOM=1 -DHAVE_STRERROR=1 -DHAVE_LCHOWN=1 -DHAVE_FCHMOD=1 -DHAVE_SNPRINTF=1 -DHAVE_STATVFS=1 -DHAVE_MEMMOVE=1 -DHAVE_RINT=1 -DHAVE_STAT64=1 -DHAVE_LSTAT64=1 -DHAVE_TRUNCATE64=1 -DHAVE_STATVFS64=1 -DHAVE_FLOCKFILE=1 -DHAVE_GETPAGESIZE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_STRTOK_R=1 -DHAVE_WCRTOMB=1 -DHAVE_MBRTOWC=1 -DHAVE_RES_NINIT=1 -DHAVE_GNU_GET_LIBC_VERSION=1 -DHAVE_ICONV=1 -DVA_COPY=va_copy -DHAVE_VA_COPY=1 -DHAVE_VA_LIST_AS_ARRAY=1 -DHAVE_CPP_EXPLICIT=1 -DHAVE_CPP_TYPENAME=1 -DHAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX=1 -DHAVE_CPP_PARTIAL_SPECIALIZATION=1 -DHAVE_CPP_ACCESS_CHANGING_USING=1 -DHAVE_CPP_AMBIGUITY_RESOLVING_USING=1 -DHAVE_CPP_NAMESPACE_STD=1 -DHAVE_CPP_UNAMBIGUOUS_STD_NOTEQUAL=1 -DHAVE_CPP_NEW_CASTS=1 -DHAVE_CPP_DYNAMIC_CAST_TO_VOID_PTR=1 -DNEED_CPP_UNUSED_IMPLEMENTATIONS=1 -DHAVE_I18N_LC_MESSAGES=1 -DSIZEOF_INT_P=8 -DMOZ_MEMORY_SIZEOF_PTR_2POW=3 -DMOZ_MEMORY=1 -DMOZ_MEMORY_LINUX=1 -DHAVE___CXA_DEMANGLE=1 -DHAVE__UNWIND_BACKTRACE=1 -DHAVE_TM_ZONE_TM_GMTOFF=1 -DCPP_THROW_NEW=throw\(\) -DMOZ_DLL_SUFFIX=\".so\" -DXP_UNIX=1 -DUNIX_ASYNC_DNS=1 -DJS_THREADSAFE=1 \
-DBUILD_STATIC_LIBS= \
/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/config/system-headers | /usr/bin/perl /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/config/make-system-wrappers.pl system_wrappers_js
/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/ff-pgo/js/src/config/nsinstall -R system_wrappers_js ../../../dist/include
make[5]: Leaving directory `/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/ff-pgo/js/src/config'
c++ -DMDCPUCFG=\"md/_linux.cfg\" -march=athlon64-sse3 -floop-interchange -floop-strip-mine -floop-block -DOSTYPE=\"Linux2.6\" -DOSARCH=Linux -DEXPORT_JS_API -DJS_USE_SAFE_ARENA -I/usr/include/nspr -o jscpucfg /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jscpucfg.cpp
./jscpucfg > jsautocfg.tmp
mv jsautocfg.tmp jsautocfg.h
jskwgen.cpp
c++ -DMDCPUCFG=\"md/_linux.cfg\" -o host_jskwgen.o -c -march=athlon64-sse3 -floop-interchange -floop-strip-mine -floop-block -I/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src -I. -I./../../dist/include -I./../../dist/include/js -I/usr/include/nspr -I/sdk/include -I/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src -I/usr/include/nspr /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jskwgen.cpp
c++ -DMDCPUCFG=\"md/_linux.cfg\" -o host_jskwgen -march=athlon64-sse3 -floop-interchange -floop-strip-mine -floop-block -I/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src -I. -I./../../dist/include -I./../../dist/include/js -I/usr/include/nspr -I/sdk/include -I/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src host_jskwgen.o
./host_jskwgen /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/ff-pgo/js/src/jsautokw.h
/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/ff-pgo/js/src/config/nsinstall -R -m 644 js-config.h jsautocfg.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/ff-pgo/js/src/jsautokw.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/js.msg /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsapi.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsarray.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsarena.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsatom.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsbit.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsbool.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsclist.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jscntxt.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jscompat.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsdate.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsdbgapi.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsdhash.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsdtoa.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsemit.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsfun.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsgc.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jshash.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsinterp.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsiter.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jslock.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jslong.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsmath.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsnum.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsobj.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/json.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsopcode.tbl /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsopcode.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsotypes.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsparse.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsprf.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsproto.tbl /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsprvtd.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jspubtd.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsregexp.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsscan.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsscope.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsscript.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsstaticcheck.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsstddef.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsstdint.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsstr.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jstracer.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jstypes.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsutil.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsversion.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsxdrapi.h /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsxml.h ../../dist/include/js
mkdir -p nanojit
make[4]: Leaving directory `/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/ff-pgo/js/src'
make[3]: Leaving directory `/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/ff-pgo'
/usr/bin/make libs_tier_js
make[3]: Entering directory `/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/ff-pgo'
libs_tier_js
make[4]: Entering directory `/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/ff-pgo'
make[4]: `js/src/Makefile' is up to date.
make[4]: Leaving directory `/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/ff-pgo'
make[4]: Entering directory `/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/ff-pgo/js/src'
jsoplengen.cpp
c++ -DMDCPUCFG=\"md/_linux.cfg\" -o host_jsoplengen.o -c -march=athlon64-sse3 -floop-interchange -floop-strip-mine -floop-block -I/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src -I. -I./../../dist/include -I./../../dist/include/js -I/usr/include/nspr -I/sdk/include -I/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src -I/usr/include/nspr /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src/jsoplengen.cpp
c++ -DMDCPUCFG=\"md/_linux.cfg\" -o host_jsoplengen -march=athlon64-sse3 -floop-interchange -floop-strip-mine -floop-block -I/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src -I. -I./../../dist/include -I./../../dist/include/js -I/usr/include/nspr -I/sdk/include -I/home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/js/src host_jsoplengen.o
./host_jsoplengen /home/seventy3/AUR/NEW-PGO/NEWEST-beta/3.5rc1/firefox-pgo-beta/src/mozilla-1.9.1/ff-pgo/js/src/jsautooplen.h
jsapi.cpp
Offline
As for C[XX]FLAGS - maybe than we should try first unset, than export? Most of the commonly used flags mozilla uses in sourcecode, so --enable-optimize in mozconfig will set them.
I'm still new to this so I can't even add any advice to this.... like I said I might be totally wrong.... I had always thought if my C[XX]FLAGS/LDFLAGS were shown when compiling then they were being used..... (as long as they weren't canceled out by something else.... and if they are then I don't know what that flag looks like)
btw. If you set C[XX]FLAG that is already used by mozilla code (like - Ox), the mozilla one is used (gcc.4.4 uses last set flag of each type. Flags defined in code are added later that our own).
ps. Is jemalloc part of you patch is working for you in 3.5rc1?
Well pgo never worked in either way using the PKGBUILD, so I'm not sure if that jemalloc part at the bottom helped.
As for the patch all I did was copy and paste the one from the bugs page because I noticed that it was mostly for the -fprofile correction like your LDFLAGS, then I just added the other parts from comment #47..... I mostly did this because of the way comment #47 had said this:
I just spent an incredible amount of time debugging a very similar error.
Here's what I learned:* You have to pass -fprofile-arcs -ftest-coverage when compiling.
* You have to pass -fprofile-arcs when linking.
Like I said, it built normally but failed when I tried to build pgo. It also built for an hour and a half when I used your /_profileprofile shell script, but when I installed the completed firefox package it would not start at all and it would give me this error in the terminal: Segmentation fault "$prog" ${1+"$@"}
btw. If you set C[XX]FLAG that is already used by mozilla code (like - Ox), the mozilla one is used (gcc.4.4 uses last set flag of each type. Flags defined in code are added later that our own).
This is good to know..... I had read that this was the way but I went ahead and removed -O2 and -pipe anyway cause I wasn't sure..... now I can stop doing this useless step. Thank you.
Last edited by methuselah (2009-06-17 06:56:18)
Offline
As for the patch all I did was copy and paste the one from the bugs page because I noticed that it was mostly for the -fprofile correction like your LDFLAGS, then I just added the other parts from comment #47..... I mostly did this because of the way comment #47 had said this:
I just spent an incredible amount of time debugging a very similar error.
Here's what I learned:* You have to pass -fprofile-arcs -ftest-coverage when compiling.
* You have to pass -fprofile-arcs when linking.
I have added your patch to build, but I've removed jemallock part - it's already in source
As for CFLAGs - I'm new in it too I will investigate this.
Proud ex-maintainer of firefox-pgo
Offline
I have added your patch to build, but I've removed jemallock part - it's already in source
As for CFLAGs - I'm new in it too I will investigate this.
Cool, do you have any idea what this error message meant: Segmentation fault "$prog" ${1+"$@"}
Like I said above, when you changed the porfile.py to the /_profile shell script I was finally able to complete a pgo build that ran through twice (I had also used the ldflags2 patch)..... the only problem is that firefox would not open after I installed it, and I would get that "$prog" ${1+"$@"} Segmentation fault error in the terminal when I ran "firefox".
So I think maybe pgo could work with your shell script if we figure out what causes this: Segmentation fault "$prog" ${1+"$@"}
Last edited by methuselah (2009-06-17 21:12:48)
Offline
I've got segmentation fault even without pgo. I'm trying to compile debug build to work it out. When you change mozconfig to --disable-optimize --enable-debug and run firefox with "firefox -g" command you will see backtrace of this segmentation...
Proud ex-maintainer of firefox-pgo
Offline
I've got segmentation fault even without pgo. I'm trying to compile debug build to work it out. When you change mozconfig to --disable-optimize --enable-debug and run firefox with "firefox -g" command you will see backtrace of this segmentation...
Thanks, I guess I'll try to build the pgo again and with this enabled. I'll get back with the results latter.
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
That fixed it! Thanks!
I was finally able to build rc1-pgo. For those having crashes during the second pass, they might want to disable ccache during that pass. It can mess things up.
I also took the time to do a couple of benchmarks with rc1 and rc1-pgo using dromaeo and sunspider tests. Heres the results
dromaeo tests:
http://dromaeo.com/?id=68377,68366 (rc1-left, rc1-pgo-right)
sunspider tests:
RC1 - http://www2.webkit.org/perf/sunspider-0 … ,257%5D%7D 8512.4ms +/- 1.7%
RC1-PGO - http://www2.webkit.org/perf/sunspider-0 … ,225%5D%7D 7758.0ms +/- 2.6%
So both tests show an approximate 10% increase in speed using PGO on my computer which aint bad imo.
Note: I ran both tests with an empty ~/.mozilla on
% uname -a
Linux blackbox 2.6.30-zen1-MOZ #1 ZEN PREEMPT Tue Jun 16 10:43:53 CEST 2009 i686 Intel(R) Pentium(R) 4 CPU 1.70GHz GenuineIntel GNU/Linux
Offline
moz can you post your binaries?
Offline
I've got segmentation fault even without pgo. I'm trying to compile debug build to work it out. When you change mozconfig to --disable-optimize --enable-debug and run firefox with "firefox -g" command you will see backtrace of this segmentation...
I think the seg fault has something to do with the cflags that are being used. I was able to build 3.5rc1 using basic cflags, in my case: CFLAGS="-march=amdfam10 -O2 -pipe"
I posted the pkgbuild I used above, a couple days ago.
Offline
Using the minefield pgo PKGBUILD by bond, I got 1518.4ms +/- 1.3% in my sunspider test. Is this normal? I've never seen other results, but the results from moz seems to suggest this maybe off.
Offline
Using the minefield pgo PKGBUILD by bond, I got 1518.4ms +/- 1.3% in my sunspider test. Is this normal? I've never seen other results, but the results from moz seems to suggest this maybe off.
That's a great result. My best was ~2500ms with an old build of Firefox, so scores in that range are definitely possible. What sort of hardware are you running?
Offline
I've got a e5200 with 2gb of ram and geforce 9800gt with proprietary drivers. I've been doing some more searching, and it seems like this level is only found in webkit-based browsers. So I'm wondering if someone else can test this out so that I can compare, it just looks too good to be true.
Offline
@moz
is it a X86_64 build?
Last edited by seenxu (2009-06-18 06:37:54)
Offline
These tests are only useful to compare different browser or different versions of the same browser under the same hardware. Moreover, even having running intensive background processes can set the test off by quite a bit. Comparing tests taken on different hardware merely shows you which computer is faster but nothing more. Faster computer = lower values in sunspider. Ive got an old P4 1.7Ghz; hence those values of over 7000ms.
moz can you post your binaries?
Here's the pkg,
http://omploader.org/vMXVrdQ/firefox-pg … pkg.tar.gz
It was built with -march=pentium4, so it wont work on anything other than a pentium 4.
Offline
Ahh ok that might explain everything, I'll try a sunspider test with midori-git that I compiled recently and compare the results.
Offline
blasse wrote:I've got segmentation fault even without pgo. I'm trying to compile debug build to work it out. When you change mozconfig to --disable-optimize --enable-debug and run firefox with "firefox -g" command you will see backtrace of this segmentation...
I think the seg fault has something to do with the cflags that are being used. I was able to build 3.5rc1 using basic cflags, in my case: CFLAGS="-march=amdfam10 -O2 -pipe"
I posted the pkgbuild I used above, a couple days ago.
Sadly, it's not enough. I have segmentation fault even when unsetting cflags....
Proud ex-maintainer of firefox-pgo
Offline
Yeah, there is a bit of difference, but in the same pattern as many others have reported:
sunspider
midori-git(webkit) = 1172.4ms +/- 0.7%
minefield central (pgo) = 1518.4ms +/- 1.3%
firefox 3.5rc1 (vanilla) = 1867.2ms +/- 0.9%
So I guess it is only a relative measure. But still surprised to see a huge improvement between pgo builds compared to just generic packages.
Offline
Ive managed to get 3.5rc1 to build, edit the mozconfig to use xulrunner-1.9.1 and install it from aur, but add this to the end of the pkgbuild,
cd $pkgdir/usr/lib && find -iname "xulrunner-*1.9.1rc1" -delete
Then add this line to the mozconfig for firefox,
USE_SHORT_LIBNAME=1
Offline
@moz can you post you pkgbuild, mozconfig, etc... please?
I used blasse's pkgbuild and mozconfig he put a few posts above. Theres only a small modification to the pkgbuild.
Here it is again,
Offline
Update your source links a build2 of rc1 is available.
Offline
hmmm I tried updating my trunk and today I can't build anymore ...
getting this error on both 1.9.1 and Central trees:
OBJDIR=/home/bond/Desktop/firefox/src/ff-bin /home/bond/Desktop/firefox/src/profileserver.sh
/home/bond/Desktop/firefox/src/ff-bin/dist/bin/firefox-bin: symbol lookup error: /home/bond/Desktop/firefox/src/ff-bin/dist/bin/firefox-bin: undefined symbol: __gcov_indirect_call_profiler
make: *** [profiledbuild] Error 127
Offline