All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alexander Kanavin" <alex.kanavin@gmail.com>
To: openembedded-core@lists.openembedded.org
Cc: Alexander Kanavin <alex.kanavin@gmail.com>
Subject: [PATCH 4/4] dev-manual/common-tasks.rst: correct the documentation for debuginfod
Date: Mon, 19 Apr 2021 11:00:44 +0200	[thread overview]
Message-ID: <20210419090044.582453-4-alex.kanavin@gmail.com> (raw)
In-Reply-To: <20210419090044.582453-1-alex.kanavin@gmail.com>

Particularly,
- correctly describe the use of DEBUGINFOD_URLS; drop it from bitbake variables
- all necessary component tweaks are enabled by default via DISTRO_FEATURES
- provide on-target examples of what to look for when things work properly

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 documentation/dev-manual/common-tasks.rst | 34 +++++++++++++++--------
 documentation/ref-manual/variables.rst    |  6 ----
 2 files changed, 22 insertions(+), 18 deletions(-)

diff --git a/documentation/dev-manual/common-tasks.rst b/documentation/dev-manual/common-tasks.rst
index 176025f9e8..9f33b6b2c8 100644
--- a/documentation/dev-manual/common-tasks.rst
+++ b/documentation/dev-manual/common-tasks.rst
@@ -10005,34 +10005,44 @@ 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:
+-  Ensure that "debuginfod" is present in :term:`DISTRO_FEATURES
+   (it already is in oe-core defaults and poky reference distribution).
+   If not, set:
    ::
 
-      PACKAGECONFIG_pn-elfutils-native = "debuginfod libdebuginfod"
+      DISTRO_FEATURES_append = " debuginfod"
 
-   This :term:`PACKAGECONFIG` option enables debuginfod and libdebuginfod for
-   "elfutils-native".
+   This distro feature enables the server and client library in elfutils,
+   and enables debuginfod support in clients (at the moment, gdb and binutils).
 
--  Run the following commands to set up the "debuginfod" server:
+-  Run the following commands to launch the "debuginfod" server on the host:
    ::
 
       $ oe-debuginfod
 
+-  To use debuginfod on the target, you need to know the ip:port where
+   debuginfod is listening on the host (port defaults to 8002), and export
+   that into the shell environment, for example in qemu:
+   ::
 
-To use debuginfod on the target, you need the following:
+      root@qemux86-64:~# export DEBUGINFOD_URLS="http://192.168.7.1:8002/"
 
--  Ensure that this variable is set in your ``local.conf`` file:
+-  Then debug info fetching should simply work when running the target gdb,
+   readelf or objdump, for example:
    ::
 
-      DEBUGINFOD_URLS = "http://localhost:8002/"
-
-   This :term:`DEBUGINFOD_URLS` option does the client configuration.
+      root@qemux86-64:~# gdb /bin/cat
+      ...
+      Reading symbols from /bin/cat...
+      Downloading separate debug info for /bin/cat...
+      Reading symbols from /home/root/.cache/debuginfod_client/923dc4780cfbc545850c616bffa884b6b5eaf322/debuginfo...
 
+-  It's also possible to use "debuginfod-find" to just query the server:
    ::
 
-        PACKAGECONFIG_pn-gdb = "debuginfod"
+      root@qemux86-64:~# debuginfod-find debuginfo /bin/ls
+      /home/root/.cache/debuginfod_client/356edc585f7f82d46f94fcb87a86a3fe2d2e60bd/debuginfo
 
-   This :term:`PACKAGECONFIG` option enables "debuginfod" for "gdb".
 
 Using the gdbserver method
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index 74ac12bf98..8a35b0960e 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -1563,12 +1563,6 @@ system and gives an overview of their function and contents.
 
          DEBIANNAME_${PN} = "dbus-1"
 
-   :term:`DEBUGINFOD_URLS`
-      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.
-
    :term:`DEBUG_BUILD`
       Specifies to build packages with debugging information. This
       influences the value of the ``SELECTED_OPTIMIZATION`` variable.
-- 
2.30.2


  parent reply	other threads:[~2021-04-19  9:00 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-19  9:00 [PATCH 1/4] scripts/oe-debuginfod: correct several issues Alexander Kanavin
2021-04-19  9:00 ` [PATCH 2/4] libmicrohttpd: add a recipe from meta-oe Alexander Kanavin
2021-04-19 15:45   ` [OE-core] " Khem Raj
2021-04-20 12:07     ` Alexander Kanavin
2021-04-19  9:00 ` [PATCH 3/4] default-distrovars.inc: add debuginfod to default DISTRO_FEATURES Alexander Kanavin
2021-04-19 15:41   ` [OE-core] " Richard Purdie
     [not found]   ` <16774CB2FBD0E460.32333@lists.openembedded.org>
2021-04-19 20:42     ` Richard Purdie
2021-04-20 12:06       ` Alexander Kanavin
2021-04-19  9:00 ` Alexander Kanavin [this message]
2021-04-19 10:11   ` [OE-core] [PATCH 4/4] dev-manual/common-tasks.rst: correct the documentation for debuginfod Richard Purdie
2021-04-19 10:33     ` [docs] " Quentin Schulz
2021-04-19 12:39       ` Alexander Kanavin
2021-04-19 12:52         ` Quentin Schulz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210419090044.582453-4-alex.kanavin@gmail.com \
    --to=alex.kanavin@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.