- table_cleanup =
- make_cleanup_ui_out_table_begin_end (uiout, 4, nr_libs,
- "SharedLibraryTable");
-
- /* The "- 1" is because ui_out adds one space between columns. */
- uiout->table_header (addr_width - 1, ui_left, "from", "From");
- uiout->table_header (addr_width - 1, ui_left, "to", "To");
- uiout->table_header (12 - 1, ui_left, "syms-read", "Syms Read");
- uiout->table_header (0, ui_noalign, "name", "Shared Object Library");
-
- uiout->table_body ();
-
- for (so = so_list_head; so; so = so->next)
- {
- struct cleanup *lib_cleanup;
-
- if (! so->so_name[0])
- continue;
- if (pattern && ! re_exec (so->so_name))
- continue;
-
- lib_cleanup = make_cleanup_ui_out_tuple_begin_end (uiout, "lib");
-
- if (so->addr_high != 0)
- {
- uiout->field_core_addr ("from", gdbarch, so->addr_low);
- uiout->field_core_addr ("to", gdbarch, so->addr_high);
- }
- else
- {
- uiout->field_skip ("from");
- uiout->field_skip ("to");
- }
-
- if (! interp_ui_out (top_level_interpreter ())->is_mi_like_p ()
- && so->symbols_loaded
- && !objfile_has_symbols (so->objfile))
- {
- so_missing_debug_info = 1;
- uiout->field_string ("syms-read", "Yes (*)");
- }
- else
- uiout->field_string ("syms-read", so->symbols_loaded ? "Yes" : "No");
-
- uiout->field_string ("name", so->so_name);