summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Ludd <solar@gentoo.org>2006-01-07 13:13:31 +0000
committerNed Ludd <solar@gentoo.org>2006-01-07 13:13:31 +0000
commit3483fe2969c3d1239e8281a1a0646e65b8b3beab (patch)
tree464415bc35446f95a439eb087a9cca95d77bc12a /bin/prepstrip
parenttouchup style (diff)
downloadportage-multirepo-3483fe2969c3d1239e8281a1a0646e65b8b3beab.tar.gz
portage-multirepo-3483fe2969c3d1239e8281a1a0646e65b8b3beab.tar.bz2
portage-multirepo-3483fe2969c3d1239e8281a1a0646e65b8b3beab.zip
- FEATURES=installsources from Olivier Crete an extention of splitdebug for better debugging when debugedit is installed. bug 112907
svn path=/main/trunk/; revision=2542
Diffstat (limited to 'bin/prepstrip')
-rwxr-xr-xbin/prepstrip10
1 files changed, 10 insertions, 0 deletions
diff --git a/bin/prepstrip b/bin/prepstrip
index 343a5335..47130e69 100755
--- a/bin/prepstrip
+++ b/bin/prepstrip
@@ -24,6 +24,16 @@ save_elf_debug() {
mkdir -p $(dirname ${y})
${CHOST}-objcopy --only-keep-debug ${x} ${y}.debug
${CHOST}-objcopy --add-gnu-debuglink=${y}.debug ${x}
+
+ [ "${FEATURES//*installsources*/true}" != "true" ] && return 0
+
+ if [ -x /usr/bin/debugedit ] ; then
+ debugedit -b ${WORKDIR} -d /usr/src/debug/${P} -l ${T}/debug.sources "$x"
+ if [ -s ${T}/debug.sources ]; then
+ [ -d ${D}/usr/src/debug/${P} ] || mkdir -p ${D}/usr/src/debug/${P}
+ cat ${T}/debug.sources | (cd ${WORKDIR}; LANG=C sort -z -u | xargs -0 -- cp --parents -p --target-directory="${D}/usr/src/debug/${P}" )
+ fi
+ fi
}
for x in $(scanelf -yRBF%F "$@") $(for y in "$@"; do find $y -type f -name '*.a' -print0 ; done); do