aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/gcc
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2011-06-09 12:27:32 -0700
committerKoen Kooi <koen@dominion.thruhere.net>2011-07-24 11:42:25 +0200
commit105d881227d06f31c180dffb777ee63361b2f2b8 (patch)
tree1aee6b668b1d556b4fd608eb688c29b5f1c4e8ae /recipes/gcc
parent247b3ae19500830c7e59c48f4acde408493a2e3e (diff)
downloadopenembedded-105d881227d06f31c180dffb777ee63361b2f2b8.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> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Diffstat (limited to 'recipes/gcc')
-rw-r--r--recipes/gcc/gcc-4.3.3.inc2
-rw-r--r--recipes/gcc/gcc-4.5.inc3
-rw-r--r--recipes/gcc/gcc-package-cross.inc8
-rw-r--r--recipes/gcc/gcc-package-target.inc4
4 files changed, 13 insertions, 4 deletions
diff --git a/recipes/gcc/gcc-4.3.3.inc b/recipes/gcc/gcc-4.3.3.inc
index 649fdfe24b..8b6ffe5c2a 100644
--- a/recipes/gcc/gcc-4.3.3.inc
+++ b/recipes/gcc/gcc-4.3.3.inc
@@ -8,7 +8,7 @@ LICENSE = "GPLv3"
DEPENDS = "mpfr gmp"
NATIVEDEPS = "mpfr-native gmp-native"
-INC_PR = "r23"
+INC_PR = "r24"
SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \
file://fedora/gcc43-c++-builtin-redecl.patch;striplevel=0 \
diff --git a/recipes/gcc/gcc-4.5.inc b/recipes/gcc/gcc-4.5.inc
index 0a43bc7ef4..dbd9693058 100644
--- a/recipes/gcc/gcc-4.5.inc
+++ b/recipes/gcc/gcc-4.5.inc
@@ -7,8 +7,7 @@ LICENSE = "GPLv3"
DEPENDS = "mpfr gmp libmpc libelf"
NATIVEDEPS = "mpfr-native gmp-native libmpc-native"
-
-INC_PR = "r33"
+INC_PR = "r37"
SRCREV = "170443"
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 438c314b6f..33567da2a8 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}
}