From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Khem Raj <raj.khem@gmail.com>, openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH v2] gcc-runtime: Move gdb pretty printer file to auto-load location
Date: Fri, 02 Feb 2024 22:58:17 +0000 [thread overview]
Message-ID: <ebb2eb6d1384624d6c293ce194891ee5c001da1d.camel@linuxfoundation.org> (raw)
In-Reply-To: <20240130162049.2019289-1-raj.khem@gmail.com>
On Tue, 2024-01-30 at 08:20 -0800, Khem Raj wrote:
> When debugging a C++ program on target using libcstdc++, gdb does not
> find the pretty printer python support, this is because the init file is
> installed into /usr/lib which is excluded from gdb's default list of
> directories to load config's from, where as defaults to load from
> datadir is still on, it therefore does not load this file
>
> warning: File "/usr/lib/libstdc++.so.6.0.33-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
>
> This leaves the libstdc++ pretty-printers disabled even though added via
> IMAGE_INSTALL += "gcc-runtime-dbg"
>
> Add missing runtime dependency on datetime python module for the pretty
> printer to work/load successfully.
>
> Once the pretty-printer gdb file is moved out of libdir, it may become
> empty therefore delete it if its empty.
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> v2: Fix build on mingw
>
> meta/recipes-devtools/gcc/gcc-runtime.inc | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
> index 64b6168ba76..004deb6e41f 100644
> --- a/meta/recipes-devtools/gcc/gcc-runtime.inc
> +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
> @@ -85,6 +85,8 @@ do_install () {
> cd ${B}/${TARGET_SYS}/$d/
> oe_runmake 'DESTDIR=${D}' MULTIBUILDTOP=${B}/${TARGET_SYS}/$d/ install
> done
> + install -d ${D}${datadir}/gdb/auto-load/${libdir}
> + mv ${D}${libdir}/libstdc++*-gdb.py ${D}${datadir}/gdb/auto-load/${libdir}
> if [ -d ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include ]; then
> install -d ${D}${libdir}/${TARGET_SYS}/${BINV}/include
> mv ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/* ${D}${libdir}/${TARGET_SYS}/${BINV}/include
> @@ -99,6 +101,9 @@ do_install () {
> if [ -d ${D}${infodir} ]; then
> rmdir --ignore-fail-on-non-empty -p ${D}${infodir}
> fi
> + if [ -d ${D}${libdir} ]; then
> + rmdir --ignore-fail-on-non-empty -p ${D}${libdir}
> + fi
> }
>
> do_install:append:class-target () {
> @@ -182,9 +187,11 @@ RRECOMMENDS:${PN}-dbg = ""
>
> # include python debugging scripts
> FILES:${PN}-dbg += "\
> - ${libdir}/libstdc++.*-gdb.py \
> ${datadir}/gcc-${BINV}/python/libstdcxx \
> + ${datadir}/gdb/auto-load \
> "
> +# Needed by libstdcxx pretty printer
> +RDEPENDS:${PN}-dbg += "python3-datetime"
>
> FILES:libg2c = "${target_libdir}/libg2c.so.*"
> SUMMARY:libg2c = "Companion runtime library for g77"
https://autobuilder.yoctoproject.org/typhoon/#/builders/87/builds/6381/steps/14/logs/stdio
Missing or unbuildable dependency chain was: ['selftest-ed',
'virtual/x86_64-poky-linux-compilerlibs', 'python3-datetime', 'bash']
https://autobuilder.yoctoproject.org/typhoon/#/builders/89/builds/8533
Cheers,
Richard
next prev parent reply other threads:[~2024-02-02 22:58 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-30 16:20 [PATCH v2] gcc-runtime: Move gdb pretty printer file to auto-load location Khem Raj
2024-02-02 22:58 ` Richard Purdie [this message]
2024-02-03 0:23 ` [OE-core] " Khem Raj
2024-02-03 7:53 ` Richard Purdie
2024-02-04 3:55 ` Tim Orling
2024-02-04 10:28 ` Richard Purdie
2024-02-04 16:36 ` Tim Orling
2024-02-04 18:00 ` Khem Raj
2024-02-04 19:04 ` Richard Purdie
2024-02-04 19:06 ` Khem Raj
2024-02-04 19:09 ` Richard Purdie
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=ebb2eb6d1384624d6c293ce194891ee5c001da1d.camel@linuxfoundation.org \
--to=richard.purdie@linuxfoundation.org \
--cc=openembedded-core@lists.openembedded.org \
--cc=raj.khem@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox