X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fprogspace.c;h=5aa7a3d177e488a24c218e8ba617dbf78b84df62;hb=7cac64af7bc6a7f7a86f90a1465f7c3d2b6f07e8;hp=ba400d47aa5c4b0ab3f99d363122373a1240137e;hpb=b2e586e850dbf1dafc10beea3250d22e70add4b5;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/progspace.c b/gdb/progspace.c index ba400d47aa..5aa7a3d177 100644 --- a/gdb/progspace.c +++ b/gdb/progspace.c @@ -1,6 +1,6 @@ /* Program and address space management, for GDB, the GNU debugger. - Copyright (C) 2009-2018 Free Software Foundation, Inc. + Copyright (C) 2009-2019 Free Software Foundation, Inc. This file is part of GDB. @@ -24,6 +24,7 @@ #include "gdbcore.h" #include "solib.h" #include "gdbthread.h" +#include "inferior.h" /* The last program space number assigned. */ int last_program_space_num = 0; @@ -152,6 +153,28 @@ program_space::~program_space () program_space_free_data (this); } +/* See progspace.h. */ + +void +program_space::add_objfile (struct objfile *objfile, struct objfile *before) +{ + for (struct objfile **objp = &objfiles_head; + *objp != NULL; + objp = &((*objp)->next)) + { + if (*objp == before) + { + objfile->next = *objp; + *objp = objfile; + return; + } + } + + internal_error (__FILE__, __LINE__, + _("put_objfile_before: before objfile not in list")); + +} + /* Copies program space SRC to DEST. Copies the main executable file, and the main symbol file. Returns DEST. */ @@ -271,7 +294,7 @@ print_program_space (struct ui_out *uiout, int requested) else uiout->field_skip ("current"); - uiout->field_int ("id", pspace->num); + uiout->field_signed ("id", pspace->num); if (pspace->pspace_exec_filename) uiout->field_string ("exec", pspace->pspace_exec_filename); @@ -292,12 +315,12 @@ print_program_space (struct ui_out *uiout, int requested) printed_header = 1; printf_filtered ("\n\tBound inferiors: ID %d (%s)", inf->num, - target_pid_to_str (pid_to_ptid (inf->pid))); + target_pid_to_str (ptid_t (inf->pid)).c_str ()); } else printf_filtered (", ID %d (%s)", inf->num, - target_pid_to_str (pid_to_ptid (inf->pid))); + target_pid_to_str (ptid_t (inf->pid)).c_str ()); } uiout->text ("\n"); @@ -400,8 +423,7 @@ update_address_spaces (void) void clear_program_space_solib_cache (struct program_space *pspace) { - VEC_free (so_list_ptr, pspace->added_solibs); - + pspace->added_solibs.clear (); pspace->deleted_solibs.clear (); }