X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fsymfile.c;h=5ca89b45b350f1cb4ff71a7a6616aa7f21ec9105;hb=c1b5c1ebc938b6dc0277363b8c47d75b0b5a621f;hp=82081b162968a1acd657eaf38dff990cdfc22655;hpb=85102364b2d1845fe9ae7d70096671a3ea4bccf3;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/symfile.c b/gdb/symfile.c index 82081b1629..5ca89b45b3 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. */ @@ -908,7 +908,7 @@ init_entry_point_info (struct objfile *objfile) corresponding BFD section index, or -1 if the section was not found. ADD_FLAGS encodes verbosity level, whether this is main symbol or - an extra symbol file such as dynamically loaded code, and wether + an extra symbol file such as dynamically loaded code, and whether breakpoint reset should be deferred. */ static void @@ -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); } @@ -1044,7 +1044,7 @@ finish_new_objfile (struct objfile *objfile, symfile_add_flags add_flags) For NAME description see the objfile constructor. ADD_FLAGS encodes verbosity, whether this is main symbol file or - extra, such as dynamically loaded code, and what to do with breakpoins. + extra, such as dynamically loaded code, and what to do with breakpoints. ADDRS is as described for syms_from_objfile_1, above. ADDRS is ignored when SYMFILE_MAINLINE bit is set in ADD_FLAGS. @@ -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) @@ -1700,7 +1697,7 @@ set_initial_language (void) struct symbol *sym = lookup_symbol (name, NULL, VAR_DOMAIN, NULL).symbol; if (sym != NULL) - lang = SYMBOL_LANGUAGE (sym); + lang = sym->language (); } if (lang == language_unknown) @@ -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); @@ -2518,6 +2515,9 @@ reread_symbols (void) automatically recreated by sym_read. */ free_objfile_separate_debug (objfile); + /* Clear the stale source cache. */ + forget_cached_source_info (); + /* Remove any references to this objfile in the global value lists. */ preserve_values (objfile);