X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fsymfile.c;h=8852e2893a4f5657cdb5ea034020da2fbb564c7c;hb=343cc95202fce70383551053f2efab09c5e02366;hp=c5d226ec0d176bbea94288349142f5427178b5f1;hpb=30baf67b6505d903bf678f9a0ba3645eb337ce49;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/symfile.c b/gdb/symfile.c index c5d226ec0d..8852e2893a 100644 --- a/gdb/symfile.c +++ b/gdb/symfile.c @@ -44,7 +44,7 @@ #include "completer.h" #include "bcache.h" #include "hashtab.h" -#include "readline/readline.h" +#include "readline/tilde.h" #include "block.h" #include "observable.h" #include "exec.h" @@ -809,7 +809,7 @@ read_symbols (struct objfile *objfile, symfile_add_flags add_flags) } } if ((add_flags & SYMFILE_NO_READ) == 0) - require_partial_symbols (objfile, 0); + require_partial_symbols (objfile, false); } /* Initialize entry point information for this objfile. */ @@ -940,7 +940,7 @@ syms_from_objfile_1 (struct objfile *objfile, if an error occurs during symbol reading. */ gdb::optional defer_clear_users; - std::unique_ptr objfile_holder (objfile); + objfile_up objfile_holder (objfile); /* If ADDRS is NULL, put together a dummy address list. We now establish the convention that an addr of zero means @@ -958,7 +958,7 @@ syms_from_objfile_1 (struct objfile *objfile, if (symfile_objfile != NULL) { - delete symfile_objfile; + symfile_objfile->unlink (); gdb_assert (symfile_objfile == NULL); } @@ -1093,10 +1093,7 @@ symbol_file_add_with_addrs (bfd *abfd, const char *name, if (mainline) flags |= OBJF_MAINLINE; - objfile = new struct objfile (abfd, name, flags); - - if (parent) - add_separate_debug_objfile (objfile, parent); + objfile = objfile::make (abfd, name, flags, parent); /* We either created a new mapped symbol table, mapped an existing symbol table file which has not had initial symbol reading @@ -1254,7 +1251,7 @@ symbol_file_clear (int from_tty) objfiles get stale by free_all_objfiles. */ no_shared_libraries (NULL, from_tty); - free_all_objfiles (); + current_program_space->free_all_objfiles (); gdb_assert (symfile_objfile == NULL); if (from_tty) @@ -2441,7 +2438,7 @@ remove_symbol_file_command (const char *args, int from_tty) objfile_name (objf))) error (_("Not confirmed.")); - delete objf; + objf->unlink (); clear_symtab_users (0); } @@ -2498,7 +2495,7 @@ reread_symbols (void) /* If we get an error, blow away this objfile (not sure if that is the correct response for things like shared libraries). */ - std::unique_ptr objfile_holder (objfile); + objfile_up objfile_holder (objfile); /* We need to do this whenever any symbols go away. */ clear_symtab_users_cleanup defer_clear_users (0);