diff options
author | Richard Purdie <richard@openedhand.com> | 2008-09-19 17:29:23 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2008-09-19 17:29:23 +0000 |
commit | b7b275518b11fa4ad468dfe07721200c0b20a9ce (patch) | |
tree | 994890c22bf842448781d4118740642d4d6297e5 /meta/packages/gcc/gcc-4.3.2/debian/libjava-stacktrace.dpatch | |
parent | 571ddc976b38b38a93adb418e79ddae80f527c15 (diff) | |
download | openembedded-core-b7b275518b11fa4ad468dfe07721200c0b20a9ce.tar.gz openembedded-core-b7b275518b11fa4ad468dfe07721200c0b20a9ce.tar.bz2 openembedded-core-b7b275518b11fa4ad468dfe07721200c0b20a9ce.tar.xz openembedded-core-b7b275518b11fa4ad468dfe07721200c0b20a9ce.zip |
gcc: Add 4.3.2 recipes
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5202 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/gcc/gcc-4.3.2/debian/libjava-stacktrace.dpatch')
-rw-r--r-- | meta/packages/gcc/gcc-4.3.2/debian/libjava-stacktrace.dpatch | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/meta/packages/gcc/gcc-4.3.2/debian/libjava-stacktrace.dpatch b/meta/packages/gcc/gcc-4.3.2/debian/libjava-stacktrace.dpatch new file mode 100644 index 000000000..9ace9dfb2 --- /dev/null +++ b/meta/packages/gcc/gcc-4.3.2/debian/libjava-stacktrace.dpatch @@ -0,0 +1,70 @@ +#! /bin/sh -e + +# DP: libgcj: Lookup source file name and line number in separated +# DP: debug files found in /usr/lib/debug + +dir= +if [ $# -eq 3 -a "$2" = '-d' ]; then + pdir="-d $3" + dir="$3/" +elif [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) + patch $pdir -f --no-backup-if-mismatch -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +--- libjava/stacktrace.cc.orig 2006-06-16 13:54:07.078577632 +0200 ++++ libjava/stacktrace.cc 2006-06-16 13:56:08.032189888 +0200 +@@ -20,6 +20,11 @@ + #endif + + #include <stdio.h> ++#include <stdlib.h> ++#include <string.h> ++#ifdef HAVE_UNISTD_H ++#include <unistd.h> ++#endif + + #include <java/lang/Class.h> + #include <java/lang/Long.h> +@@ -222,6 +227,28 @@ + finder->lookup (binaryName, (jlong) offset); + *sourceFileName = finder->getSourceFile(); + *lineNum = finder->getLineNum(); ++ if (*lineNum == -1 && info.file_name[0] == '/') ++ { ++ const char *debugPrefix = "/usr/lib/debug"; ++ char *debugPath = (char *) malloc (strlen(debugPrefix) ++ + strlen(info.file_name) ++ + 2); ++ ++ if (debugPath) ++ { ++ strcpy (debugPath, debugPrefix); ++ strcat (debugPath, info.file_name); ++ //printf ("%s: 0x%x\n", debugPath, offset); ++ if (!access (debugPath, R_OK)) ++ { ++ binaryName = JvNewStringUTF (debugPath); ++ finder->lookup (binaryName, (jlong) offset); ++ *sourceFileName = finder->getSourceFile(); ++ *lineNum = finder->getLineNum(); ++ } ++ free (debugPath); ++ } ++ } + if (*lineNum == -1 && NameFinder::showRaw()) + { + gnu::gcj::runtime::StringBuffer *t = |