Introduce program_space::remove_objfile
This introduces a new method, program_space::remove_objfile, and changes the objfile destructor not to unlink an objfile from the program space's list. This is cleaner because, like the previous patch, it treats the program space more like a container for objfiles. Also, this makes it possible to keep an objfile alive even though it has been unlinked from the program space's list, which is important for processing in a worker thread. gdb/ChangeLog 2019-12-12 Tom Tromey <tom@tromey.com> * progspace.h (struct program_space) <remove_objfile>: Declare. * progspace.c (program_space::remove_objfile): New method. * objfiles.c (unlink_objfile): Remove. (objfile::unlink): Call remove_objfile. (objfile): Don't call unlink_objfile. Change-Id: I22f768827723dce21886fae9b3664532c8349e68
This commit is contained in:
parent
7cac64af7b
commit
234529260a
4 changed files with 36 additions and 28 deletions
|
@ -170,6 +170,8 @@ struct program_space
|
|||
list. */
|
||||
void add_objfile (struct objfile *objfile, struct objfile *before);
|
||||
|
||||
/* Remove OBJFILE from the list of objfiles. */
|
||||
void remove_objfile (struct objfile *objfile);
|
||||
|
||||
/* Pointer to next in linked list. */
|
||||
struct program_space *next = NULL;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue