aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/gnu/gcj/runtime/NameFinder.java9
2 files changed, 12 insertions, 3 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index fa8be5d..aea1ae6 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,5 +1,11 @@
2006-05-11 Bryce McKinlay <mckinlay@redhat.com>
+ * gnu/gcj/runtime/NameFinder.java (lookup): If exec'ing addr2line
+ fails, don't try again.
+ (use_addr2line): Field no longer final.
+
+2006-05-11 Bryce McKinlay <mckinlay@redhat.com>
+
* gnu/gcj/runtime/NameFinder.java (blacklist): New static field.
(lookup): If addr2line fails to find an address, flag the binary as
having no debug info and avoid calling addr2line on it again.
diff --git a/libjava/gnu/gcj/runtime/NameFinder.java b/libjava/gnu/gcj/runtime/NameFinder.java
index bfc3e25..e43886f 100644
--- a/libjava/gnu/gcj/runtime/NameFinder.java
+++ b/libjava/gnu/gcj/runtime/NameFinder.java
@@ -62,7 +62,7 @@ public class NameFinder
*/
private static Set blacklist = Collections.synchronizedSet(new HashSet());
- private static final boolean use_addr2line
+ private static boolean use_addr2line
= Boolean.valueOf(System.getProperty
("gnu.gcj.runtime.NameFinder.use_addr2line", "true")
).booleanValue();
@@ -166,8 +166,11 @@ public class NameFinder
procs.put(file, addr2line);
}
- if (addr2line.proc == null)
- return;
+ if (addr2line.proc == null)
+ {
+ use_addr2line = false;
+ return;
+ }
String hexAddr = "0x" + Long.toHexString(addr);
String name;