From dce8f3de6e8ae5000bff9146231fe4c35e58cc4a Mon Sep 17 00:00:00 2001 From: aph Date: Fri, 17 Feb 2006 13:01:40 +0000 Subject: 2006-02-16 Andrew Haley * stacktrace.cc (GetStackTraceElements): Call gnu::gcj::runtime::NameFinder::removeUnknown() to determine if non-Java frames should be removed from a printed stack trace. Pass methodName to getLineNumberForFrame(). (getLineNumberForFrame): Set method_name from info.dli_sname. * gnu/gcj/runtime/NameFinder.java (removeUnknown): New method. (remove_unknown): New variable. * include/java-stack.h (_Jv_StackTrace::getLineNumberForFrame): Add methodName arg. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111181 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/gnu/gcj/runtime/NameFinder.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'libjava/gnu/gcj/runtime') diff --git a/libjava/gnu/gcj/runtime/NameFinder.java b/libjava/gnu/gcj/runtime/NameFinder.java index 4c629bb22ec..3a31a2d2d9b 100644 --- a/libjava/gnu/gcj/runtime/NameFinder.java +++ b/libjava/gnu/gcj/runtime/NameFinder.java @@ -34,6 +34,9 @@ import java.util.HashMap; * source file and line number info. Throwable.printStackTrace() will * be faster if this property is set to 'false'. * + * * * * close() should be called to get rid of all resources. @@ -57,6 +60,18 @@ public class NameFinder ("gnu.gcj.runtime.NameFinder.use_addr2line", "true") ).booleanValue(); + private static final boolean remove_unknown + = Boolean.valueOf(System.getProperty + ("gnu.gcj.runtime.NameFinder.remove_unknown", "true") + ).booleanValue(); + + // Return true if non-Java frames should be removed from stack + // traces. + static final boolean removeUnknown() + { + return remove_unknown; + } + class Addr2Line { Process proc; -- cgit v1.2.3