From a1fd1ac9def557cbb7570cf90178a00cb26e7fef Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 8 May 2020 14:21:22 -0600 Subject: 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 * 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) : 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. --- gdb/progspace.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'gdb/progspace.h') diff --git a/gdb/progspace.h b/gdb/progspace.h index 2b887847e17..0e32224f02d 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> 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 solibs () const; + /* Pointer to next in linked list. */ struct program_space *next = NULL; -- cgit v1.2.1