diff options
author | Gary Benson <gary@redhat.com> | 2013-06-04 12:53:34 +0000 |
---|---|---|
committer | Gary Benson <gary@redhat.com> | 2013-06-04 12:53:34 +0000 |
commit | 607ece04f463f66121834ffef3484d942c7c91da (patch) | |
tree | a668c538c435c6db0db4a7142d699bad18c622a6 /gdb/objfiles.h | |
parent | 9ee6a5acd5d83655e5af4a79c83f31dfce0a2a8e (diff) | |
download | gdb-607ece04f463f66121834ffef3484d942c7c91da.zip gdb-607ece04f463f66121834ffef3484d942c7c91da.tar.gz gdb-607ece04f463f66121834ffef3484d942c7c91da.tar.bz2 |
2013-06-04 Gary Benson <gbenson@redhat.com>
* objfiles.h (inhibit_section_map_updates): New function
declaration.
(resume_section_map_updates): Likewise.
(resume_section_map_updates_cleanup): Likewise.
* objfiles.c (objfile_pspace_info): Removed field
"objfiles_changed_p". New fields "new_objfiles_available",
"section_map_dirty" and "inhibit_updates".
(allocate_objfile): Set new_objfiles_available.
(free_objfile): Set section_map_dirty.
(objfile_relocate1): Likewise.
(in_plt_section): Likewise.
(find_pc_section): Update the conditions under which the
section map will be updated.
(inhibit_section_map_updates): New function.
(resume_section_map_updates): Likewise.
(resume_section_map_updates_cleanup): Likewise.
Diffstat (limited to 'gdb/objfiles.h')
-rw-r--r-- | gdb/objfiles.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gdb/objfiles.h b/gdb/objfiles.h index 93149e2..adb1ef8 100644 --- a/gdb/objfiles.h +++ b/gdb/objfiles.h @@ -501,6 +501,22 @@ extern int in_plt_section (CORE_ADDR, char *); modules. */ DECLARE_REGISTRY(objfile); +/* In normal use, the section map will be rebuilt by find_pc_section + if objfiles have been added, removed or relocated since it was last + called. Calling inhibit_section_map_updates will inhibit this + behavior until resume_section_map_updates is called. If you call + inhibit_section_map_updates you must ensure that every call to + find_pc_section in the inhibited region relates to a section that + is already in the section map and has not since been removed or + relocated. */ +extern void inhibit_section_map_updates (struct program_space *pspace); + +/* Resume automatically rebuilding the section map as required. */ +extern void resume_section_map_updates (struct program_space *pspace); + +/* Version of the above suitable for use as a cleanup. */ +extern void resume_section_map_updates_cleanup (void *arg); + extern void default_iterate_over_objfiles_in_search_order (struct gdbarch *gdbarch, iterate_over_objfiles_in_search_order_cb_ftype *cb, |