diff mbox series

manuals: document minidebuginfo

Message ID 20231207134322.3185149-1-ecordonnier@snap.com
State New
Headers show
Series manuals: document minidebuginfo | expand

Commit Message

Etienne Cordonnier Dec. 7, 2023, 1:43 p.m. UTC
From: Etienne Cordonnier <ecordonnier@snap.com>

Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
---
 documentation/dev-manual/debugging.rst | 15 +++++++++++++++
 documentation/ref-manual/features.rst  |  3 +++
 2 files changed, 18 insertions(+)

Comments

Ulrich Ölmann Dec. 7, 2023, 1:54 p.m. UTC | #1
Hi Etienne,

thanks for your documentation of minidebuginfo!

On Thu, Dec 07 2023 at 14:43 +0100, "Etienne Cordonnier via lists.yoctoproject.org" <ecordonnier=snap.com@lists.yoctoproject.org> wrote:
> From: Etienne Cordonnier <ecordonnier@snap.com>
>
> Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
> ---
>  documentation/dev-manual/debugging.rst | 15 +++++++++++++++
>  documentation/ref-manual/features.rst  |  3 +++
>  2 files changed, 18 insertions(+)
>
> diff --git a/documentation/dev-manual/debugging.rst b/documentation/dev-manual/debugging.rst
> index fea2cb30a..75dc53649 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 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 of 5 to 10%. For comparison, full debug symbols can be 10 times as big as

s/of 5 to 10%/by 5 to 10%/

Best regards
Ulrich


> +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 dd14339bc..1320c3a58 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)<dev-manual/debugging:enabling minidebuginfo>`
> +   to binary files containing, allowing coredumpctl and gdb to show symbolicated stack traces.
> +
>  -  *multiarch:* Enable building applications with multiple architecture
>     support.
diff mbox series

Patch

diff --git a/documentation/dev-manual/debugging.rst b/documentation/dev-manual/debugging.rst
index fea2cb30a..75dc53649 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 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 of 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 dd14339bc..1320c3a58 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)<dev-manual/debugging:enabling minidebuginfo>`
+   to binary files containing, allowing coredumpctl and gdb to show symbolicated stack traces.
+
 -  *multiarch:* Enable building applications with multiple architecture
    support.