diff options
authorDorinda <>2021-03-02 18:06:51 +0100
committerRichard Purdie <>2021-03-23 22:54:55 +0000
commit6c9829385ecf78d3dae295cf8a010197d0f87327 (patch)
parent2d80d02edbf99775e9fd7465cb80891bf6fa738a (diff)
dev-manual/common-task.rst: Added documentation for debuginfod support
Added documentation on running debuginfod server and using it on the target. Added the term DEBUGINFOD_URLS definition in ref-manual/variables.rst (From yocto-docs rev: a16ae140e26482c81ce733f20f8c68c6eba55f35) Signed-off-by: Dorinda Bassey <> Signed-off-by: Richard Purdie <>
2 files changed, 52 insertions, 1 deletions
diff --git a/documentation/dev-manual/common-tasks.rst b/documentation/dev-manual/common-tasks.rst
index 820b8314d1..4313d905ca 100644
--- a/documentation/dev-manual/common-tasks.rst
+++ b/documentation/dev-manual/common-tasks.rst
@@ -10023,7 +10023,52 @@ before starting the debugging process. These extra computations place
more load on the target system and can alter the characteristics of the
program being debugged.
-To help get past the previously mentioned constraints, you can use
+To help get past the previously mentioned constraints, there are two
+methods you can use: running a debuginfod server and using gdbserver.
+Using the debuginfod server method
+"debuginfod" from "elfutils" is a way to distribute "debuginfo" files.
+Running a "debuginfod" server makes debug symbols readily available,
+which means you don't need to download debugging information
+and the binaries of the process being debugged. You can just fetch
+debug symbols from the server.
+To run a debuginfod server, you need to do the following:
+- Ensure that this variable is set in your ``local.conf`` file:
+ ::
+ PACKAGECONFIG_pn-elfutils-native = "debuginfod libdebuginfod"
+ This :term:`PACKAGECONFIG` option enables debuginfod and libdebuginfod for
+ "elfutils-native".
+- Run the following commands to set up the "debuginfod" server:
+ ::
+ $ oe-debuginfod
+To use debuginfod on the target, you need the following:
+- Ensure that this variable is set in your ``local.conf`` file:
+ ::
+ DEBUGINFOD_URLS = "http://localhost:8002/"
+ This :term:`DEBUGINFOD_URLS` option does the client configuration.
+ ::
+ PACKAGECONFIG_pn-gdb = "debuginfod"
+ This :term:`PACKAGECONFIG` option enables "debuginfod" for "gdb".
+Using the gdbserver method
gdbserver, which runs on the remote target and does not load any
debugging information from the debugged process. Instead, a GDB instance
processes the debugging information that is run on a remote computer -
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index 4f441907b1..0310429bdc 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -1565,6 +1565,12 @@ system and gives an overview of their function and contents.
DEBIANNAME_${PN} = "dbus-1"
+ Points to the URL of the "debuginfod" server. Such that for every
+ debugging information lookup, the debuginfod client will query the
+ server and return the requested information. You set this variable
+ in your ``local.conf`` file.
Specifies to build packages with debugging information. This
influences the value of the ``SELECTED_OPTIMIZATION`` variable.