diff options
Diffstat (limited to 'libjava')
-rw-r--r-- | libjava/ChangeLog | 6 | ||||
-rw-r--r-- | libjava/gnu/gcj/runtime/NameFinder.java | 9 |
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; |