Skip to content

Commit 72a1721

Browse files
committed
Merge branch 'eyraud/378' into 'master'
Document common instrumentation error Closes #378 See merge request eng/das/cov/gnatcoverage!886 Closes eng/das/cov/gnatcoverage#378
2 parents 48a6293 + 02faf5c commit 72a1721

File tree

1 file changed

+18
-4
lines changed

1 file changed

+18
-4
lines changed

doc/gnatcov/src_traces.rst

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -335,11 +335,11 @@ with N > 0 to specify the desired level of concurrency.
335335

336336
.. _Dump_Triggers:
337337

338-
Output strategies for main units
339-
--------------------------------
338+
Output strategies for coverage information
339+
------------------------------------------
340340

341-
The choice of a ``--dump-trigger``/``--dump-channel`` pair for main units
342-
depends on the runtime environment available to your program.
341+
The choice of a ``--dump-trigger``/``--dump-channel`` pair for coverage
342+
information dump depends on the runtime environment available to your program.
343343

344344
For a native program with access to a full Ada runtime and the associated
345345
coverage runtime, ``--dump-channel=bin-file`` is the recommended choice as it
@@ -1545,3 +1545,17 @@ under ``ccg_gnatcov_rts/`` for the sources already present before the gprbuild
15451545
invocation, and under ``ccg_gnatcov_rts/obj-gnatcov_rts.static`` for the sources
15461546
generated by CCG. The C sources generated from the instrumented Ada sources will
15471547
be available in the object directory of their corresponding project.
1548+
1549+
Common instrumentation errors
1550+
=============================
1551+
1552+
Linker error when building instrumented application
1553+
---------------------------------------------------
1554+
1555+
If the build of the instrumented programs fails with an undefined reference to a
1556+
gnatcov defined symbol (e.g. "xcov_buf_stmt_<slug>"), it usually means that the
1557+
list of coverage buffers that contain coverage data is not in the closure of the
1558+
main. This is typically the case when the main was not instrumented as such, or
1559+
when using the manual dump-trigger and inserting a dump buffer annotation in
1560+
a source that is not in the main closure. Refer to :ref:`Dump_Triggers` for more
1561+
information.

0 commit comments

Comments
 (0)