From a1ae83c59b099543f7097247a9f56ca67923a9e8 Mon Sep 17 00:00:00 2001 From: Etienne Cordonnier Date: Mon, 11 Dec 2023 11:01:41 +0100 Subject: manuals: document minidebuginfo (From yocto-docs rev: 1a6327f2d92b390248afb45119d79bb05cda3dcc) Signed-off-by: Etienne Cordonnier Reviewed-by: Michael Opdenacker Signed-off-by: Richard Purdie --- documentation/dev-manual/debugging.rst | 15 +++++++++++++++ documentation/ref-manual/features.rst | 3 +++ 2 files changed, 18 insertions(+) (limited to 'documentation') diff --git a/documentation/dev-manual/debugging.rst b/documentation/dev-manual/debugging.rst index bd1e716b0b..834eade766 100644 --- a/documentation/dev-manual/debugging.rst +++ b/documentation/dev-manual/debugging.rst @@ -1173,6 +1173,21 @@ To support this kind of debugging, you need do the following: Consider that this will reduce the application's performance and is recommended only for debugging purposes. +Enabling Minidebuginfo +====================== + +Enabling the :term:`DISTRO_FEATURES` minidebuginfo adds a compressed ELF section ``.gnu_debugdata`` +to all binary files, containing only function names, and thus increasing the size of the +binaries only by 5 to 10%. For comparison, full debug symbols can be 10 times as big as +a stripped binary, and it is thus not always possible to deploy full debug symbols. +Minidebuginfo data allows, on the one side, to retrieve a call-stack using +GDB (command backtrace) without deploying full debug symbols to the target. It also +allows to retrieve a symbolicated call-stack when using ``systemd-coredump`` to manage +coredumps (commands ``coredumpctl list`` and ``coredumpctl info``). + +This feature was created by Fedora, see https://fedoraproject.org/wiki/Features/MiniDebugInfo for +more details. + Other Debugging Tips ==================== diff --git a/documentation/ref-manual/features.rst b/documentation/ref-manual/features.rst index dd14339bc2..b9d3b30f18 100644 --- a/documentation/ref-manual/features.rst +++ b/documentation/ref-manual/features.rst @@ -161,6 +161,9 @@ metadata, as extra layers can define their own: - *keyboard:* Include keyboard support (e.g. keymaps will be loaded during boot). +- *minidebuginfo:* Add minimal debug symbols :ref:`(minidebuginfo)` + to binary files containing, allowing ``coredumpctl`` and ``gdb`` to show symbolicated stack traces. + - *multiarch:* Enable building applications with multiple architecture support. -- cgit v1.2.3-54-g00ecf