[oe] [PATCH] gcc: Package libstdc++ gdb python helpers into dev package
Philip Balister
philip at balister.org
Fri Jul 22 17:24:45 UTC 2011
On 06/09/2011 03:35 PM, Khem Raj wrote:
> People are seeing these errrors from ldconfig
> libstdc++.so.6.0.14-gdb.py is not an ELF file - it has the wrong magic
> bytes at the start.
>
> this file is moved into gdb's autoload directory
> if it exists there then gdb will find it when debugging
> and it wont be in the paths where ldconfig looks for
> libraries.
>
> Signed-off-by: Khem Raj<raj.khem at gmail.com>
Finally,
Tested-by: Philip Balister <philip at balister.org>
No more annoying message when I run ldconfig. Getting this fix in will
reduce my support emails by a small, but noticeable amount.
Philip
> ---
> recipes/gcc/gcc-4.5.inc | 2 +-
> recipes/gcc/gcc-package-cross.inc | 8 +++++++-
> recipes/gcc/gcc-package-target.inc | 4 ++++
> 3 files changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/recipes/gcc/gcc-4.5.inc b/recipes/gcc/gcc-4.5.inc
> index aa5bb00..69229ef 100644
> --- a/recipes/gcc/gcc-4.5.inc
> +++ b/recipes/gcc/gcc-4.5.inc
> @@ -8,7 +8,7 @@ DEPENDS = "mpfr gmp libmpc libelf"
> NATIVEDEPS = "mpfr-native gmp-native libmpc-native"
>
>
> -INC_PR = "r36"
> +INC_PR = "r37"
>
> SRCREV = "170880"
> PV = "4.5"
> diff --git a/recipes/gcc/gcc-package-cross.inc b/recipes/gcc/gcc-package-cross.inc
> index f9a7eeb..1533069 100644
> --- a/recipes/gcc/gcc-package-cross.inc
> +++ b/recipes/gcc/gcc-package-cross.inc
> @@ -4,7 +4,7 @@ PACKAGE_STRIP = "no"
>
> SHLIBSDIR = "${STAGING_DIR_TARGET}/shlibs"
>
> -PACKAGES = "libgcc libssp libstdc++ libg2c libgfortran"
> +PACKAGES = "libgcc libssp libstdc++ libg2c libgfortran libstdc++-dev libgcc-dev"
>
> # Called from within gcc-cross, so libdir is set wrong
> FILES_libg2c = "${target_libdir}/libg2c.so.*"
> @@ -18,6 +18,7 @@ FILES_libgcc-dev = "${target_libdir}/libgcc_s.so"
>
> FILES_libstdc++ = "${target_libdir}/libstdc++.so.*"
>
> +FILES_libstdc++-dev = "${target_datadir}/gdb/auto-load/${libdir}/libstdc++.so.*-gdb.py*"
> do_install () {
> oe_runmake 'DESTDIR=${D}' install
> install -d ${D}${target_base_libdir}
> @@ -68,5 +69,10 @@ GROUP ( libgcc_s.so.1 libgcc.a )"> ${D}${target_libdir}/libgcc_s.so
> # We use libiberty from binutils or binutils-cross
> rm -f ${D}${libdir}/libiberty.a
> rm -f ${D}${target_libdir}/libiberty.a
> + if [ -f ${D}${target_libdir}/libstdc++.so.*-gdb.py ]; then
> + # move the gdb python helpers to gdb auto-load directory
> + install -d ${D}${target_datadir}/gdb/auto-load${target_libdir}
> + mv -f ${D}${target_libdir}/libstdc++.so.*-gdb.py* ${D}${target_datadir}/gdb/auto-load${target_libdir}
> + fi
> }
>
> diff --git a/recipes/gcc/gcc-package-target.inc b/recipes/gcc/gcc-package-target.inc
> index 5cfe47b..959b9ec 100644
> --- a/recipes/gcc/gcc-package-target.inc
> +++ b/recipes/gcc/gcc-package-target.inc
> @@ -83,6 +83,7 @@ FILES_libstdc++-dev = "\
> ${libdir}/libsupc++.la \
> ${libdir}/libsupc++.a \
> "
> +FILES_libstdc++-dev += "${datadir}/gdb/auto-load/${libdir}/libstdc++.so.*-gdb.py*"
>
> FILES_libgfortran-dev = "${libdir}/libgfortran.a \
> ${libdir}/libgfortran.so \
> @@ -168,4 +169,7 @@ GROUP ( libgcc_s.so.1 libgcc.a )"> ${D}${libdir}/libgcc_s.so
>
> # Remove precompiled c++ headers as they are really big
> rm -rf ${D}${includedir}/c++/${BINV}/${TARGET_SYS}/bits/*.gch
> + # move the gdb python helpers to gdb auto-load directory
> + install -d ${D}${datadir}/gdb/auto-load/${libdir}
> + mv ${D}${libdir}/libstdc++.so.*-gdb.py* ${D}${datadir}/gdb/auto-load${libdir}
> }
More information about the Openembedded-devel
mailing list