diff options
Diffstat (limited to 'debian/patches/libjava-stacktrace.diff')
-rw-r--r-- | debian/patches/libjava-stacktrace.diff | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/debian/patches/libjava-stacktrace.diff b/debian/patches/libjava-stacktrace.diff deleted file mode 100644 index 43f8599..0000000 --- a/debian/patches/libjava-stacktrace.diff +++ /dev/null @@ -1,52 +0,0 @@ -# DP: libgcj: Lookup source file name and line number in separated -# DP: debug files found in /usr/lib/debug - ---- - libjava/stacktrace.cc | 27 +++++++++++++++++++++++++++ - 1 files changed, 27 insertions(+), 0 deletions(-) - -Index: b/src/libjava/stacktrace.cc -=================================================================== ---- a/src/libjava/stacktrace.cc -+++ b/src/libjava/stacktrace.cc -@@ -17,6 +17,11 @@ details. */ - #include <java-stack.h> - - #include <stdio.h> -+#include <stdlib.h> -+#include <string.h> -+#ifdef HAVE_UNISTD_H -+#include <unistd.h> -+#endif - - #include <java/lang/Boolean.h> - #include <java/lang/Class.h> -@@ -260,6 +265,28 @@ _Jv_StackTrace::getLineNumberForFrame(_J - 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 = |