Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
c50174e7
Commit
c50174e7
authored
Jun 12, 2001
by
Joseph Myers
Committed by
Joseph Myers
Jun 12, 2001
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* doc/gcov.texi: Use more logical markup.
From-SVN: r43253
parent
17d6c819
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
64 additions
and
60 deletions
+64
-60
gcc/ChangeLog
+4
-0
gcc/doc/gcov.texi
+60
-60
No files found.
gcc/ChangeLog
View file @
c50174e7
2001
-
06
-
12
Joseph
S
.
Myers
<
jsm28
@cam
.
ac
.
uk
>
*
doc
/
gcov
.
texi
:
Use
more
logical
markup
.
2001
-
06
-
11
Mark
Mitchell
<
mark
@codesourcery
.
com
>
2001
-
06
-
11
Mark
Mitchell
<
mark
@codesourcery
.
com
>
*
unroll
.
c
(
initial_reg_note_copy
)
:
Use
PUT_REG_NOTE_KIND
and
*
unroll
.
c
(
initial_reg_note_copy
)
:
Use
PUT_REG_NOTE_KIND
and
...
...
gcc/doc/gcov.texi
View file @
c50174e7
...
@@ -27,12 +27,12 @@ English.
...
@@ -27,12 +27,12 @@ English.
@end
ignore
@end
ignore
@node
Gcov
@node
Gcov
@chapter
@co
de
{
gcov
}
:
a
Test
Coverage
Program
@chapter
@co
mmand
{
gcov
}
:
a
Test
Coverage
Program
@co
de
{
gcov
}
is
a
tool
you
can
use
in
conjunction
with
@sc
{
gnu
}
CC
to
@co
mmand
{
gcov
}
is
a
tool
you
can
use
in
conjunction
with
@sc
{
gnu
}
CC
to
test
code
coverage
in
your
programs
.
test
code
coverage
in
your
programs
.
This
chapter
describes
version
1
.
5
of
@co
de
{
gcov
}.
This
chapter
describes
version
1
.
5
of
@co
mmand
{
gcov
}.
@menu
@menu
*
Gcov
Intro
::
Introduction
to
gcov
.
*
Gcov
Intro
::
Introduction
to
gcov
.
...
@@ -42,19 +42,19 @@ This chapter describes version 1.5 of @code{gcov}.
...
@@ -42,19 +42,19 @@ This chapter describes version 1.5 of @code{gcov}.
@end
menu
@end
menu
@node
Gcov
Intro
@node
Gcov
Intro
@section
Introduction
to
@co
de
{
gcov
}
@section
Introduction
to
@co
mmand
{
gcov
}
@c
man
begin
DESCRIPTION
@c
man
begin
DESCRIPTION
@co
de
{
gcov
}
is
a
test
coverage
program
.
Use
it
in
concert
with
@sc
{
gnu
}
@co
mmand
{
gcov
}
is
a
test
coverage
program
.
Use
it
in
concert
with
@sc
{
gnu
}
CC
to
analyze
your
programs
to
help
create
more
efficient
,
faster
CC
to
analyze
your
programs
to
help
create
more
efficient
,
faster
running
code
.
You
can
use
@co
de
{
gcov
}
as
a
profiling
tool
to
help
running
code
.
You
can
use
@co
mmand
{
gcov
}
as
a
profiling
tool
to
help
discover
where
your
optimization
efforts
will
best
affect
your
code
.
You
discover
where
your
optimization
efforts
will
best
affect
your
code
.
You
can
also
use
@co
de
{
gcov
}
along
with
the
other
profiling
tool
,
can
also
use
@co
mmand
{
gcov
}
along
with
the
other
profiling
tool
,
@co
de
{
gprof
},
to
assess
which
parts
of
your
code
use
the
greatest
amount
@co
mmand
{
gprof
},
to
assess
which
parts
of
your
code
use
the
greatest
amount
of
computing
time
.
of
computing
time
.
Profiling
tools
help
you
analyze
your
code
'
s
performance
.
Using
a
Profiling
tools
help
you
analyze
your
code
'
s
performance
.
Using
a
profiler
such
as
@co
de
{
gcov
}
or
@code
{
gprof
},
you
can
find
out
some
profiler
such
as
@co
mmand
{
gcov
}
or
@command
{
gprof
},
you
can
find
out
some
basic
performance
statistics
,
such
as
:
basic
performance
statistics
,
such
as
:
@itemize
@bullet
@itemize
@bullet
...
@@ -70,7 +70,7 @@ how much computing time each section of code uses
...
@@ -70,7 +70,7 @@ how much computing time each section of code uses
Once
you
know
these
things
about
how
your
code
works
when
compiled
,
you
Once
you
know
these
things
about
how
your
code
works
when
compiled
,
you
can
look
at
each
module
to
see
which
modules
should
be
optimized
.
can
look
at
each
module
to
see
which
modules
should
be
optimized
.
@co
de
{
gcov
}
helps
you
determine
where
to
work
on
optimization
.
@co
mmand
{
gcov
}
helps
you
determine
where
to
work
on
optimization
.
Software
developers
also
use
coverage
testing
in
concert
with
Software
developers
also
use
coverage
testing
in
concert
with
testsuites
,
to
make
sure
software
is
actually
good
enough
for
a
release
.
testsuites
,
to
make
sure
software
is
actually
good
enough
for
a
release
.
...
@@ -81,10 +81,10 @@ to be added to the testsuites to create both better testing and a better
...
@@ -81,10 +81,10 @@ to be added to the testsuites to create both better testing and a better
final
product
.
final
product
.
You
should
compile
your
code
without
optimization
if
you
plan
to
use
You
should
compile
your
code
without
optimization
if
you
plan
to
use
@co
de
{
gcov
}
because
the
optimization
,
by
combining
some
lines
of
code
@co
mmand
{
gcov
}
because
the
optimization
,
by
combining
some
lines
of
code
into
one
function
,
may
not
give
you
as
much
information
as
you
need
to
into
one
function
,
may
not
give
you
as
much
information
as
you
need
to
look
for
`
hot
spots
'
where
the
code
is
using
a
great
deal
of
computer
look
for
`
hot
spots
'
where
the
code
is
using
a
great
deal
of
computer
time
.
Likewise
,
because
@co
de
{
gcov
}
accumulates
statistics
by
line
(
at
time
.
Likewise
,
because
@co
mmand
{
gcov
}
accumulates
statistics
by
line
(
at
the
lowest
resolution
),
it
works
best
with
a
programming
style
that
the
lowest
resolution
),
it
works
best
with
a
programming
style
that
places
only
one
statement
on
each
line
.
If
you
use
complicated
macros
places
only
one
statement
on
each
line
.
If
you
use
complicated
macros
that
expand
to
loops
or
to
other
control
structures
,
the
statistics
are
that
expand
to
loops
or
to
other
control
structures
,
the
statistics
are
...
@@ -92,14 +92,14 @@ less helpful---they only report on the line where the macro call
...
@@ -92,14 +92,14 @@ less helpful---they only report on the line where the macro call
appears
.
If
your
complex
macros
behave
like
functions
,
you
can
replace
appears
.
If
your
complex
macros
behave
like
functions
,
you
can
replace
them
with
inline
functions
to
solve
this
problem
.
them
with
inline
functions
to
solve
this
problem
.
@co
de
{
gcov
}
creates
a
logfile
called
@file
{
@var
{
sourcefile
}.
gcov
}
which
@co
mmand
{
gcov
}
creates
a
logfile
called
@file
{
@var
{
sourcefile
}.
gcov
}
which
indicates
how
many
times
each
line
of
a
source
file
@file
{
@var
{
sourcefile
}.
c
}
indicates
how
many
times
each
line
of
a
source
file
@file
{
@var
{
sourcefile
}.
c
}
has
executed
.
You
can
use
these
logfiles
along
with
@co
de
{
gprof
}
to
aid
has
executed
.
You
can
use
these
logfiles
along
with
@co
mmand
{
gprof
}
to
aid
in
fine
-
tuning
the
performance
of
your
programs
.
@co
de
{
gprof
}
gives
in
fine
-
tuning
the
performance
of
your
programs
.
@co
mmand
{
gprof
}
gives
timing
information
you
can
use
along
with
the
information
you
get
from
timing
information
you
can
use
along
with
the
information
you
get
from
@co
de
{
gcov
}.
@co
mmand
{
gcov
}.
@co
de
{
gcov
}
works
only
on
code
compiled
with
@sc
{
gnu
}
CC
.
It
is
not
@co
mmand
{
gcov
}
works
only
on
code
compiled
with
@sc
{
gnu
}
CC
.
It
is
not
compatible
with
any
other
profiling
or
test
coverage
mechanism
.
compatible
with
any
other
profiling
or
test
coverage
mechanism
.
@c
man
end
@c
man
end
...
@@ -121,7 +121,7 @@ gcc(1) and the Info entry for @file{gcc}.
...
@@ -121,7 +121,7 @@ gcc(1) and the Info entry for @file{gcc}.
@end
ignore
@end
ignore
@c
man
begin
OPTIONS
@c
man
begin
OPTIONS
@table
@
code
@table
@
gcctabopt
@item
-
b
@item
-
b
Write
branch
frequencies
to
the
output
file
,
and
write
branch
summary
Write
branch
frequencies
to
the
output
file
,
and
write
branch
summary
info
to
the
standard
output
.
This
option
allows
you
to
see
how
often
info
to
the
standard
output
.
This
option
allows
you
to
see
how
often
...
@@ -132,28 +132,28 @@ Write branch frequencies as the number of branches taken, rather than
...
@@ -132,28 +132,28 @@ Write branch frequencies as the number of branches taken, rather than
the
percentage
of
branches
taken
.
the
percentage
of
branches
taken
.
@item
-
v
@item
-
v
Display
the
@co
de
{
gcov
}
version
number
(
on
the
standard
error
stream
).
Display
the
@co
mmand
{
gcov
}
version
number
(
on
the
standard
error
stream
).
@item
-
n
@item
-
n
Do
not
create
the
@co
de
{
gcov
}
output
file
.
Do
not
create
the
@co
mmand
{
gcov
}
output
file
.
@item
-
l
@item
-
l
Create
long
file
names
for
included
source
files
.
For
example
,
if
the
Create
long
file
names
for
included
source
files
.
For
example
,
if
the
header
file
@
samp
{
x
.
h
}
contains
code
,
and
was
included
in
the
file
header
file
@
file
{
x
.
h
}
contains
code
,
and
was
included
in
the
file
@
samp
{
a
.
c
},
then
running
@code
{
gcov
}
on
the
file
@samp
{
a
.
c
}
will
produce
@
file
{
a
.
c
},
then
running
@command
{
gcov
}
on
the
file
@file
{
a
.
c
}
will
produce
an
output
file
called
@
samp
{
a
.
c
.
x
.
h
.
gcov
}
instead
of
@samp
{
x
.
h
.
gcov
}.
an
output
file
called
@
file
{
a
.
c
.
x
.
h
.
gcov
}
instead
of
@file
{
x
.
h
.
gcov
}.
This
can
be
useful
if
@
samp
{
x
.
h
}
is
included
in
multiple
source
files
.
This
can
be
useful
if
@
file
{
x
.
h
}
is
included
in
multiple
source
files
.
@item
-
f
@item
-
f
Output
summaries
for
each
function
in
addition
to
the
file
level
summary
.
Output
summaries
for
each
function
in
addition
to
the
file
level
summary
.
@item
-
o
@item
-
o
The
directory
where
the
object
files
live
.
Gcov
will
search
for
@
cod
e
{.
bb
},
The
directory
where
the
object
files
live
.
Gcov
will
search
for
@
fil
e
{.
bb
},
@
code
{.
bbg
},
and
@cod
e
{.
da
}
files
in
this
directory
.
@
file
{.
bbg
},
and
@fil
e
{.
da
}
files
in
this
directory
.
@end
table
@end
table
@need
3000
@need
3000
When
using
@co
de
{
gcov
},
you
must
first
compile
your
program
with
two
When
using
@co
mmand
{
gcov
},
you
must
first
compile
your
program
with
two
special
@sc
{
gnu
}
CC
options
:
@samp
{
-
fprofile
-
arcs
-
ftest
-
coverage
}.
special
@sc
{
gnu
}
CC
options
:
@samp
{
-
fprofile
-
arcs
-
ftest
-
coverage
}.
This
tells
the
compiler
to
generate
additional
information
needed
by
This
tells
the
compiler
to
generate
additional
information
needed
by
gcov
(
basically
a
flow
graph
of
the
program
)
and
also
includes
gcov
(
basically
a
flow
graph
of
the
program
)
and
also
includes
...
@@ -162,13 +162,13 @@ information needed by gcov. These additional files are placed in the
...
@@ -162,13 +162,13 @@ information needed by gcov. These additional files are placed in the
directory
where
the
source
code
is
located
.
directory
where
the
source
code
is
located
.
Running
the
program
will
cause
profile
output
to
be
generated
.
For
each
Running
the
program
will
cause
profile
output
to
be
generated
.
For
each
source
file
compiled
with
-
fprofile
-
arcs
,
an
accompanying
@cod
e
{.
da
}
source
file
compiled
with
@option
{
-
fprofile
-
arcs
},
an
accompanying
@fil
e
{.
da
}
file
will
be
placed
in
the
source
directory
.
file
will
be
placed
in
the
source
directory
.
Running
@co
de
{
gcov
}
with
your
program
'
s
source
file
names
as
arguments
Running
@co
mmand
{
gcov
}
with
your
program
'
s
source
file
names
as
arguments
will
now
produce
a
listing
of
the
code
along
with
frequency
of
execution
will
now
produce
a
listing
of
the
code
along
with
frequency
of
execution
for
each
line
.
For
example
,
if
your
program
is
called
@
samp
{
tmp
.
c
},
this
for
each
line
.
For
example
,
if
your
program
is
called
@
file
{
tmp
.
c
},
this
is
what
you
see
when
you
use
the
basic
@co
de
{
gcov
}
facility
:
is
what
you
see
when
you
use
the
basic
@co
mmand
{
gcov
}
facility
:
@smallexample
@smallexample
$
gcc
-
fprofile
-
arcs
-
ftest
-
coverage
tmp
.
c
$
gcc
-
fprofile
-
arcs
-
ftest
-
coverage
tmp
.
c
...
@@ -178,7 +178,7 @@ $ gcov tmp.c
...
@@ -178,7 +178,7 @@ $ gcov tmp.c
Creating
tmp
.
c
.
gcov
.
Creating
tmp
.
c
.
gcov
.
@end
smallexample
@end
smallexample
The
file
@file
{
tmp
.
c
.
gcov
}
contains
output
from
@co
de
{
gcov
}.
The
file
@file
{
tmp
.
c
.
gcov
}
contains
output
from
@co
mmand
{
gcov
}.
Here
is
a
sample
:
Here
is
a
sample
:
@smallexample
@smallexample
...
@@ -199,7 +199,7 @@ Here is a sample:
...
@@ -199,7 +199,7 @@ Here is a sample:
@end
smallexample
@end
smallexample
@need
450
@need
450
When
you
use
the
@
samp
{
-
b
}
option
,
your
output
looks
like
this
:
When
you
use
the
@
option
{
-
b
}
option
,
your
output
looks
like
this
:
@smallexample
@smallexample
$
gcov
-
b
tmp
.
c
$
gcov
-
b
tmp
.
c
...
@@ -257,7 +257,7 @@ of times the call was executed will be printed. This will usually be
...
@@ -257,7 +257,7 @@ of times the call was executed will be printed. This will usually be
and
thus
may
not
return
every
time
they
are
called
.
and
thus
may
not
return
every
time
they
are
called
.
The
execution
counts
are
cumulative
.
If
the
example
program
were
The
execution
counts
are
cumulative
.
If
the
example
program
were
executed
again
without
removing
the
@
cod
e{
.
da
}
file
,
the
count
for
the
executed
again
without
removing
the
@
fil
e{
.
da
}
file
,
the
count
for
the
number
of
times
each
line
in
the
source
was
executed
would
be
added
to
number
of
times
each
line
in
the
source
was
executed
would
be
added
to
the
results
of
the
previous
run
(
s
).
This
is
potentially
useful
in
the
results
of
the
previous
run
(
s
).
This
is
potentially
useful
in
several
ways
.
For
example
,
it
could
be
used
to
accumulate
data
over
a
several
ways
.
For
example
,
it
could
be
used
to
accumulate
data
over
a
...
@@ -265,17 +265,17 @@ number of program runs as part of a test verification suite, or to
...
@@ -265,17 +265,17 @@ number of program runs as part of a test verification suite, or to
provide
more
accurate
long
-
term
information
over
a
large
number
of
provide
more
accurate
long
-
term
information
over
a
large
number
of
program
runs
.
program
runs
.
The
data
in
the
@
cod
e{
.
da
}
files
is
saved
immediately
before
the
program
The
data
in
the
@
fil
e{
.
da
}
files
is
saved
immediately
before
the
program
exits
.
For
each
source
file
compiled
with
-
fprofile
-
arcs
,
the
profiling
exits
.
For
each
source
file
compiled
with
@option{
-
fprofile
-
arcs
}
,
the
profiling
code
first
attempts
to
read
in
an
existing
@
cod
e{
.
da
}
file
;
if
the
file
code
first
attempts
to
read
in
an
existing
@
fil
e{
.
da
}
file
;
if
the
file
doesn
'
t
match
the
executable
(
differing
number
of
basic
block
counts
)
it
doesn
'
t
match
the
executable
(
differing
number
of
basic
block
counts
)
it
will
ignore
the
contents
of
the
file
.
It
then
adds
in
the
new
execution
will
ignore
the
contents
of
the
file
.
It
then
adds
in
the
new
execution
counts
and
finally
writes
the
data
to
the
file
.
counts
and
finally
writes
the
data
to
the
file
.
@node
Gcov
and
Optimization
@node
Gcov
and
Optimization
@section
Using
@co
de
{
gcov
}
with
GCC
Optimization
@section
Using
@co
mmand
{
gcov
}
with
GCC
Optimization
If
you
plan
to
use
@co
de
{
gcov
}
to
help
optimize
your
code
,
you
must
If
you
plan
to
use
@co
mmand
{
gcov
}
to
help
optimize
your
code
,
you
must
first
compile
your
program
with
two
special
@sc{
gnu
}
CC
options
:
first
compile
your
program
with
two
special
@sc{
gnu
}
CC
options
:
@samp
{
-
fprofile
-
arcs
-
ftest
-
coverage
}.
Aside
from
that
,
you
can
use
any
@samp
{
-
fprofile
-
arcs
-
ftest
-
coverage
}.
Aside
from
that
,
you
can
use
any
other
@sc
{
gnu
}
CC
options
;
but
if
you
want
to
prove
that
every
single
line
other
@sc
{
gnu
}
CC
options
;
but
if
you
want
to
prove
that
every
single
line
...
@@ -293,9 +293,9 @@ else
...
@@ -293,9 +293,9 @@ else
@noindent
@noindent
can
be
compiled
into
one
instruction
on
some
machines
.
In
this
case
,
can
be
compiled
into
one
instruction
on
some
machines
.
In
this
case
,
there
is
no
way
for
@co
de
{
gcov
}
to
calculate
separate
execution
counts
there
is
no
way
for
@co
mmand
{
gcov
}
to
calculate
separate
execution
counts
for
each
line
because
there
isn
'
t
separate
code
for
each
line
.
Hence
for
each
line
because
there
isn
'
t
separate
code
for
each
line
.
Hence
the
@co
de
{
gcov
}
output
looks
like
this
if
you
compiled
the
program
with
the
@co
mmand
{
gcov
}
output
looks
like
this
if
you
compiled
the
program
with
optimization:
optimization:
@smallexample
@smallexample
...
@@ -313,21 +313,21 @@ many times the result was 1.
...
@@ -313,21 +313,21 @@ many times the result was 1.
@c
man
end
@c
man
end
@node
Gcov
Data
Files
@node
Gcov
Data
Files
@section
Brief
description
of
@co
de
{
gcov
}
data
files
@section
Brief
description
of
@co
mmand
{
gcov
}
data
files
@co
de
{
gcov
}
uses
three
files
for
doing
profiling
.
The
names
of
these
@co
mmand
{
gcov
}
uses
three
files
for
doing
profiling
.
The
names
of
these
files
are
derived
from
the
original
@emph{
source
}
file
by
substituting
files
are
derived
from
the
original
@emph{
source
}
file
by
substituting
the
file
suffix
with
either
@
code{
.
bb
}
,
@code{
.
bbg
}
,
or
@cod
e{
.
da
}
.
All
the
file
suffix
with
either
@
file{
.
bb
}
,
@file{
.
bbg
}
,
or
@fil
e{
.
da
}
.
All
of
these
files
are
placed
in
the
same
directory
as
the
source
file
,
and
of
these
files
are
placed
in
the
same
directory
as
the
source
file
,
and
contain
data
stored
in
a
platform
-
independent
method
.
contain
data
stored
in
a
platform
-
independent
method
.
The
@
code{
.
bb
}
and
@cod
e{
.
bbg
}
files
are
generated
when
the
source
file
The
@
file{
.
bb
}
and
@fil
e{
.
bbg
}
files
are
generated
when
the
source
file
is
compiled
with
the
@sc{
gnu
}
CC
@
samp
{
-
ftest
-
coverage
}
option
.
The
is
compiled
with
the
@sc{
gnu
}
CC
@
option
{
-
ftest
-
coverage
}
option
.
The
@
cod
e{
.
bb
}
file
contains
a
list
of
source
files
(
including
headers
),
@
fil
e{
.
bb
}
file
contains
a
list
of
source
files
(
including
headers
),
functions
within
those
files
,
and
line
numbers
corresponding
to
each
functions
within
those
files
,
and
line
numbers
corresponding
to
each
basic
block
in
the
source
file
.
basic
block
in
the
source
file
.
The
@
cod
e{
.
bb
}
file
format
consists
of
several
lists
of
4
-
byte
integers
The
@
fil
e{
.
bb
}
file
format
consists
of
several
lists
of
4
-
byte
integers
which
correspond
to
the
line
numbers
of
each
basic
block
in
the
which
correspond
to
the
line
numbers
of
each
basic
block
in
the
file
.
Each
list
is
terminated
by
a
line
number
of
0
.
A
line
number
of
-
1
file
.
Each
list
is
terminated
by
a
line
number
of
0
.
A
line
number
of
-
1
is
used
to
designate
that
the
source
file
name
(
padded
to
a
4
-
byte
is
used
to
designate
that
the
source
file
name
(
padded
to
a
4
-
byte
...
@@ -335,13 +335,13 @@ boundary and followed by another -1) follows. In addition, a line number
...
@@ -335,13 +335,13 @@ boundary and followed by another -1) follows. In addition, a line number
of
-
2
is
used
to
designate
that
the
name
of
a
function
(
also
padded
to
a
of
-
2
is
used
to
designate
that
the
name
of
a
function
(
also
padded
to
a
4
-
byte
boundary
and
followed
by
a
-
2
)
follows
.
4
-
byte
boundary
and
followed
by
a
-
2
)
follows
.
The
@
cod
e{
.
bbg
}
file
is
used
to
reconstruct
the
program
flow
graph
for
The
@
fil
e{
.
bbg
}
file
is
used
to
reconstruct
the
program
flow
graph
for
the
source
file
.
It
contains
a
list
of
the
program
flow
arcs
(
possible
the
source
file
.
It
contains
a
list
of
the
program
flow
arcs
(
possible
branches
taken
from
one
basic
block
to
another
)
for
each
function
which
,
branches
taken
from
one
basic
block
to
another
)
for
each
function
which
,
in
combination
with
the
@
cod
e{
.
bb
}
file
,
enables
gcov
to
reconstruct
the
in
combination
with
the
@
fil
e{
.
bb
}
file
,
enables
gcov
to
reconstruct
the
program
flow
.
program
flow
.
In
the
@
cod
e{
.
bbg
}
file
,
the
format
is
:
In
the
@
fil
e{
.
bbg
}
file
,
the
format
is
:
@smallexample
@smallexample
number
of
basic
blocks
for
function
#
0
(
4
-
byte
number
)
number
of
basic
blocks
for
function
#
0
(
4
-
byte
number
)
total
number
of
arcs
for
function
#
0
(
4
-
byte
number
)
total
number
of
arcs
for
function
#
0
(
4
-
byte
number
)
...
@@ -363,24 +363,24 @@ A -1 (stored as a 4-byte number) is used to separate each function's
...
@@ -363,24 +363,24 @@ A -1 (stored as a 4-byte number) is used to separate each function's
list
of
basic
blocks
,
and
to
verify
that
the
file
has
been
read
list
of
basic
blocks
,
and
to
verify
that
the
file
has
been
read
correctly
.
correctly
.
The
@
cod
e
{.
da
}
file
is
generated
when
a
program
containing
object
files
The
@
fil
e
{.
da
}
file
is
generated
when
a
program
containing
object
files
built
with
the
@sc
{
gnu
}
CC
@
samp
{
-
fprofile
-
arcs
}
option
is
executed
.
A
built
with
the
@sc
{
gnu
}
CC
@
option
{
-
fprofile
-
arcs
}
option
is
executed
.
A
separate
@
cod
e
{.
da
}
file
is
created
for
each
source
file
compiled
with
separate
@
fil
e
{.
da
}
file
is
created
for
each
source
file
compiled
with
this
option
,
and
the
name
of
the
@
cod
e
{.
da
}
file
is
stored
as
an
this
option
,
and
the
name
of
the
@
fil
e
{.
da
}
file
is
stored
as
an
absolute
pathname
in
the
resulting
object
file
.
This
path
name
is
absolute
pathname
in
the
resulting
object
file
.
This
path
name
is
derived
from
the
source
file
name
by
substituting
a
@
cod
e
{.
da
}
suffix
.
derived
from
the
source
file
name
by
substituting
a
@
fil
e
{.
da
}
suffix
.
The
format
of
the
@
cod
e
{.
da
}
file
is
fairly
simple
.
The
first
8
-
byte
The
format
of
the
@
fil
e
{.
da
}
file
is
fairly
simple
.
The
first
8
-
byte
number
is
the
number
of
counts
in
the
file
,
followed
by
the
counts
number
is
the
number
of
counts
in
the
file
,
followed
by
the
counts
(
stored
as
8
-
byte
numbers
).
Each
count
corresponds
to
the
number
of
(
stored
as
8
-
byte
numbers
).
Each
count
corresponds
to
the
number
of
times
each
arc
in
the
program
is
executed
.
The
counts
are
cumulative
;
times
each
arc
in
the
program
is
executed
.
The
counts
are
cumulative
;
each
time
the
program
is
executed
,
it
attempts
to
combine
the
existing
each
time
the
program
is
executed
,
it
attempts
to
combine
the
existing
@
cod
e
{.
da
}
files
with
the
new
counts
for
this
invocation
of
the
@
fil
e
{.
da
}
files
with
the
new
counts
for
this
invocation
of
the
program
.
It
ignores
the
contents
of
any
@
cod
e
{.
da
}
files
whose
number
of
program
.
It
ignores
the
contents
of
any
@
fil
e
{.
da
}
files
whose
number
of
arcs
doesn
'
t
correspond
to
the
current
program
,
and
merely
overwrites
arcs
doesn
'
t
correspond
to
the
current
program
,
and
merely
overwrites
them
instead
.
them
instead
.
All
three
of
these
files
use
the
functions
in
@
cod
e
{
gcov
-
io
.
h
}
to
store
All
three
of
these
files
use
the
functions
in
@
fil
e
{
gcov
-
io
.
h
}
to
store
integers
;
the
functions
in
this
header
provide
a
machine
-
independent
integers
;
the
functions
in
this
header
provide
a
machine
-
independent
mechanism
for
storing
and
retrieving
data
from
a
stream
.
mechanism
for
storing
and
retrieving
data
from
a
stream
.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment