From: Mark Kettenis Date: Wed, 29 Oct 2003 18:40:39 +0000 (+0000) Subject: Merged from mainline: X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=305bb16c29c2c5cb7938259b0acd4c8718f8908d;p=thirdparty%2Fbinutils-gdb.git Merged from mainline: 2003-10-29 Mark Kettenis * objfiles.h (clear_objfile_data): New prototype. * objfiles.c (clear_objfile_data): New function. * symfile.c (reread_symbols): Clear per-objfile data. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 27ea08b763d..5b85063a2d8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,13 @@ +2003-10-29 Mark Kettenis + + Merged from mainline: + + 2003-10-29 Mark Kettenis + + * objfiles.h (clear_objfile_data): New prototype. + * objfiles.c (clear_objfile_data): New function. + * symfile.c (reread_symbols): Clear per-objfile data. + 2003-10-17 Jim Blandy Merged from mainline: diff --git a/gdb/objfiles.c b/gdb/objfiles.c index ee4cdc4032c..1519967b2fc 100644 --- a/gdb/objfiles.c +++ b/gdb/objfiles.c @@ -1161,6 +1161,13 @@ objfile_free_data (struct objfile *objfile) objfile->data = NULL; } +void +clear_objfile_data (struct objfile *objfile) +{ + gdb_assert (objfile->data != NULL); + memset (objfile->data, 0, objfile->num_data * sizeof (void *)); +} + void set_objfile_data (struct objfile *objfile, const struct objfile_data *data, void *value) diff --git a/gdb/objfiles.h b/gdb/objfiles.h index 80e61c52348..2d9ca29a597 100644 --- a/gdb/objfiles.h +++ b/gdb/objfiles.h @@ -576,6 +576,7 @@ extern int is_in_import_list (char *, struct objfile *); modules. */ extern const struct objfile_data *register_objfile_data (void); +extern void clear_objfile_data (struct objfile *objfile); extern void set_objfile_data (struct objfile *objfile, const struct objfile_data *data, void *value); extern void *objfile_data (struct objfile *objfile, diff --git a/gdb/symfile.c b/gdb/symfile.c index 2466649628c..b08ba21fe8c 100644 --- a/gdb/symfile.c +++ b/gdb/symfile.c @@ -1974,6 +1974,7 @@ reread_symbols (void) memset (&objfile->msymbol_demangled_hash, 0, sizeof (objfile->msymbol_demangled_hash)); objfile->fundamental_types = NULL; + clear_objfile_data (objfile); if (objfile->sf != NULL) { (*objfile->sf->sym_finish) (objfile);