aboutsummaryrefslogtreecommitdiffstats
path: root/recipes
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2011-06-09 12:27:32 -0700
committerKhem Raj <raj.khem@gmail.com>2011-07-22 13:20:10 -0700
commit8c42351519ece9ed60659a103e624d2e154b3641 (patch)
tree9d05b1e8af39741bd5364c9c2984d92a9f20345a /recipes
parent6c3adf22343b66944c8bb18529bf10dd52418b37 (diff)
downloadopenembedded-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.inc2
-rw-r--r--recipes/gcc/gcc-package-cross.inc8
-rw-r--r--recipes/gcc/gcc-package-target.inc4
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}
}