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 <[email protected]> --- 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
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#150667): https://lists.openembedded.org/g/openembedded-core/message/150667 Mute This Topic: https://lists.openembedded.org/mt/82204271/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
