On Fri, Feb 4, 2011 at 12:32 PM, Paul Pluzhnikov wrote: >> Maybe the cache could point to the symbols themselves.  I think that >> would fix the problem and be both safe and efficient. > > Ah, that also nicely takes care of the problematic use of -1 as invalid > core address -- we *know* that 0 and -1 are *not* valid symbol values. Here is the updated patch (applies on top of the [1/2] cosmetic patch). Re-tested on linux/x86_64, no regressions. Thanks, -- Paul Pluzhnikov 2010-02-04 Paul Pluzhnikov * breakpoint.c (longjmp_names): New variable. (struct breakpoint_objfile_data): New type. (breakpoint_objfile_key): New variable. (msym_not_found): New variable. (msym_not_found_p): New predicate. (get_breakpoint_objfile_data): New function. (create_overlay_event_breakpoint): Check per-objfile cache for symbols first. (create_longjmp_master_breakpoint): Likewise. (create_std_terminate_master_breakpoint): Likewise. (create_exception_master_breakpoint): Likewise. (_initialize_breakpoint): Register per-objfile data key.