diff options
Diffstat (limited to 'meta/packages/gcc/gcc-4.3.3/debian/libjava-stacktrace.dpatch')
-rw-r--r-- | meta/packages/gcc/gcc-4.3.3/debian/libjava-stacktrace.dpatch | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/meta/packages/gcc/gcc-4.3.3/debian/libjava-stacktrace.dpatch b/meta/packages/gcc/gcc-4.3.3/debian/libjava-stacktrace.dpatch deleted file mode 100644 index 9ace9df..0000000 --- a/meta/packages/gcc/gcc-4.3.3/debian/libjava-stacktrace.dpatch +++ /dev/null @@ -1,70 +0,0 @@ -#! /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 = |