ref-manual: document DEBUG_PREFIX_MAP

Fixes [YOCTO #14433]

(From yocto-docs rev: 23eb07c26044d06bc51c757bf1b0a53b1b357dc8)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Michael Opdenacker 2021-10-05 17:17:52 +02:00 committed by Richard Purdie
parent f7a8e145e9
commit 60b02e9daa
2 changed files with 18 additions and 1 deletions

View File

@ -1582,6 +1582,23 @@ system and gives an overview of their function and contents.
by :term:`BBFILE_PRIORITY` if that variable is different between two
layers that contain different versions of the same recipe.
:term:`DEBUG_PREFIX_MAP`
Allows to set C compiler options, such as ``-fdebug-prefix-map``,
``-fmacro-prefix-map``, and ``-ffile-prefix-map``, which allow to
replace build-time paths by install-time ones in the debugging sections
of binaries. This makes compiler output files location independent,
at the cost of having to pass an extra command to tell the debugger
where source files are.
This is used by the Yocto Project to guarantee
:doc:`/test-manual/reproducible-builds` even when the source code of
a package uses the ``__FILE__`` or ``assert()`` macros. See the
`reproducible-builds.org <https://reproducible-builds.org/docs/build-path/>`__
website for details.
This variable is set in the ``meta/conf/bitbake.conf`` file. It is
not intended to be user-configurable.
:term:`DEFAULTTUNE`
The default CPU and Application Binary Interface (ABI) tunings (i.e.
the "tune") used by the OpenEmbedded build system. The

View File

@ -53,7 +53,7 @@ things we do within the build system to ensure reproducibility include:
- Adding mappings to the compiler options to ensure debug filepaths are mapped
to consistent target compatible paths. This is done through the
``DEBUG_PREFIX_MAP`` variable which sets the ``-fmacro-prefix-map`` and
:term:`DEBUG_PREFIX_MAP` variable which sets the ``-fmacro-prefix-map`` and
``-fdebug-prefix-map`` compiler options correctly to map to target paths.
- Being explicit about recipe dependencies and their configuration (no floating
configure options or host dependencies creeping in). In particular this means