diff options
author | Khem Raj <raj.khem@gmail.com> | 2011-06-09 12:27:32 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2011-07-22 13:20:10 -0700 |
commit | 8c42351519ece9ed60659a103e624d2e154b3641 (patch) | |
tree | 9d05b1e8af39741bd5364c9c2984d92a9f20345a /recipes | |
parent | 6c3adf22343b66944c8bb18529bf10dd52418b37 (diff) | |
download | openembedded-8c42351519ece9ed60659a103e624d2e154b3641.tar.gz |
gcc: Package libstdc++ gdb python helpers into dev package
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@gmail.com>
Tested-by: Philip Balister <philip@balister.org>
Diffstat (limited to 'recipes')
-rw-r--r-- | recipes/gcc/gcc-4.5.inc | 2 | ||||
-rw-r--r-- | recipes/gcc/gcc-package-cross.inc | 8 | ||||
-rw-r--r-- | 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 aa5bb00d1a..69229efbea 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 f9a7eebca0..153306905c 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 5cfe47baea..8ca8f21d31 100644 --- a/recipes/gcc/gcc-package-target.inc +++ b/recipes/gcc/gcc-package-target.inc @@ -82,6 +82,7 @@ FILES_libstdc++-dev = "\ ${libdir}/libstdc++.a \ ${libdir}/libsupc++.la \ ${libdir}/libsupc++.a \ + ${datadir}/gdb/auto-load${libdir}/libstdc++.so.*-gdb.py* \ " FILES_libgfortran-dev = "${libdir}/libgfortran.a \ @@ -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} } |