[Bug 3343] New: Problems with profiling

bugzilla-daemon at icculus.org bugzilla-daemon at icculus.org
Sun Sep 2 18:46:44 EDT 2007


           Summary: Problems with profiling
           Product: Quake 3
           Version: 1.33 SVN
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P3
         Component: Platform
        AssignedTo: zakk at icculus.org
        ReportedBy: nixpenguin at gmail.com
         QAContact: quake3-bugzilla at icculus.org

Building a profiled, optimized ioQ3 with gcc should be easier (see details
below). As it is, there is no profile target, and overriding LDFLAGS on the
make command-line is problematic (-ldl and -lm have to be explicitly provided).

Also, after Step 2, not all source files have corresponding '.gcda' files like
they do for '.gcno'. In fact, most of them don't, even if I load maps, play
online, etc (I'm setting fs_basepath from the build/release-linux-x86_64
folder). As a result, they're compiled with no branch info taken into account.
Am I missing something?

Step 1: Build non-optimized for '.gcno'
OPTIMIZE="-O0 -fno-guess-branch-probability -fprofile-generate"

Step 2: Build optimized for '.gcda'
make clean
OPTIMIZE="[k8, O3, fast math] -fno-guess-branch-probability -fprofile-arcs"
Remove "-fprofile-generate" from LDFLAGS, add "-fprofile-arcs"
Run the resulting binary to generate .gcda files

Step 3: Build final optimized binary
make clean
OPTIMIZE="[above opts] -fno-guess-branch-probability -fprofile-use"
Remove "-fprofile-arcs" from LDFLAGS, add "-fprofile-use"

Configure bugmail: http://bugzilla.icculus.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.

More information about the quake3-bugzilla mailing list