This is the mail archive of the mailing list for the GDB project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] Speed up find_pc_section

On Fri, Jul 17, 2009 at 8:06 AM, Tom Tromey<> wrote:

> Paul> +static int objfiles_updated_p;
> This (plus the map itself) seems like another thing that will have to be
> per-inferior or per-address-space. ?But, perhaps we aren't quite ready
> for that yet.

Yes, this would definitely need to be modified to be per-address-space.

> Paul> +  objfiles_updated_p += 1;  /* Rebuild section map next time we need it.  */
> It seems like we would need one of these in objfile_relocate

Yes, looks like it. Added.

> and maybe in reread_symbols.  What do you think?

Hmm, this one is trickier (I don't want to make objfiles_updated_p global).

I moved the 'objfiles_updated_p += 1' from free_objfile() into
clear_objfile_data() -- that's called from reread_symbols() as well.

> Paul> +int
> Paul> +find_pc_section_cmp (const void *key, const void *elt)
> Should be static.

Caught this one in the followup patch :-)

Here is the update.
Re-tested on Linux/x86_64 with no regressions.

Paul Pluzhnikov

2009-07-17  Paul Pluzhnikov  <>

       * objfiles.c (objfiles_updated_p): New variable.
       (qsort_cmp, bsearch_cmp, update_section_map): New functions.
       (find_pc_section): Use bsearch.

Attachment: gdb-find_pc_section-20090717-2.txt
Description: Text document

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]