diff options
author | Tom Tromey <tom@tromey.com> | 2020-05-08 14:21:22 -0600 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2020-05-08 14:21:22 -0600 |
commit | a1fd1ac9def557cbb7570cf90178a00cb26e7fef (patch) | |
tree | 2ba2b212b672aef86649fdb3ae6e3668cc49ada2 /gdb/progspace.h | |
parent | 38eae084598a3531bef4b7987a8fe646ae92a988 (diff) | |
download | gdb-a1fd1ac9def557cbb7570cf90178a00cb26e7fef.zip gdb-a1fd1ac9def557cbb7570cf90178a00cb26e7fef.tar.gz gdb-a1fd1ac9def557cbb7570cf90178a00cb26e7fef.tar.bz2 |
Remove ALL_SO_LIBS and so_list_head
This patch started as an attempt to replace ALL_SO_LIBS with an
ordinary C++ iterator. However, then I tripped over the so_list_head
define again, and decided to remove it as well.
gdb/ChangeLog
2020-05-08 Tom Tromey <tom@tromey.com>
* mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Update.
* solib-svr4.c (svr4_fetch_objfile_link_map): Update.
(enable_break): Update.
* solib-frv.c (frv_fdpic_find_global_pointer): Update.
(frv_fdpic_find_canonical_descriptor): Update.
(frv_fetch_objfile_link_map): Update.
* progspace.c (program_space::free_all_objfiles): Update.
(program_space::solibs): New method.
* progspace.h (struct program_space) <solibs>: New method.
* solist.h (master_so_list): Don't declare.
(ALL_SO_LIBS): Remove.
* solib.h (so_list_head): Remove.
(update_solib_list): Update comment.
* solib.c (master_so_list): Remove.
(solib_used, update_solib_list, solib_add)
(info_sharedlibrary_command, clear_solib)
(reload_shared_libraries_1, remove_user_added_objfile): Update.
Diffstat (limited to 'gdb/progspace.h')
-rw-r--r-- | gdb/progspace.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/progspace.h b/gdb/progspace.h index 2b88784..0e32224 100644 --- a/gdb/progspace.h +++ b/gdb/progspace.h @@ -37,6 +37,7 @@ struct exec; struct address_space; struct program_space_data; struct address_space_data; +struct so_list; typedef std::list<std::shared_ptr<objfile>> objfile_list; @@ -264,6 +265,12 @@ struct program_space /* Free all the objfiles associated with this program space. */ void free_all_objfiles (); + /* Return a range adapter for iterating over all the solibs in this + program space. Use it like: + + for (so_list *so : pspace->solibs ()) { ... } */ + next_adapter<struct so_list> solibs () const; + /* Pointer to next in linked list. */ struct program_space *next = NULL; |