public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug symtab/17855] New: clear_symtab_users doesn't call observer_notify_new_objfile (NULL) early enough
@ 2015-01-18 4:53 xdje42 at gmail dot com
2015-01-31 23:15 ` [Bug symtab/17855] " cvs-commit at gcc dot gnu.org
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: xdje42 at gmail dot com @ 2015-01-18 4:53 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=17855
Bug ID: 17855
Summary: clear_symtab_users doesn't call
observer_notify_new_objfile (NULL) early enough
Product: gdb
Version: HEAD
Status: NEW
Severity: normal
Priority: P2
Component: symtab
Assignee: unassigned at sourceware dot org
Reporter: xdje42 at gmail dot com
I ran into this with my symtab lookup cache patch, PR 17799.
I think the problem can also be seen from ada, which has its own symbol lookup
cache, except one will need to fix PR 17854 first (assuming I'm not missing
something).
diff --git a/gdb/symfile.c b/gdb/symfile.c
index d55e361..ad481de 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -3023,6 +3023,12 @@ clear_symtab_users (int add_flags)
/* Someday, we should do better than this, by only blowing away
the things that really need to be blown. */
+ /* Notify anyone listening that the previous loaded symtab(s) are invalid.
+ It is important to do this before calling breakpoint_re_set as the latter
+ will try to look up symbols, and for example the symbol cache needs to
+ be flushed first. */
+ observer_notify_new_objfile (NULL);
+
/* Clear the "current" symtab first, because it is no longer valid.
breakpoint_re_set may try to access the current symtab. */
clear_current_source_symtab_and_line ();
@@ -3032,7 +3038,6 @@ clear_symtab_users (int add_flags)
breakpoint_re_set ();
clear_last_displayed_sal ();
clear_pc_function_cache ();
- observer_notify_new_objfile (NULL);
/* Clear globals which might have pointed into a removed objfile.
FIXME: It's not clear which of these are supposed to persist
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug symtab/17855] clear_symtab_users doesn't call observer_notify_new_objfile (NULL) early enough
2015-01-18 4:53 [Bug symtab/17855] New: clear_symtab_users doesn't call observer_notify_new_objfile (NULL) early enough xdje42 at gmail dot com
@ 2015-01-31 23:15 ` cvs-commit at gcc dot gnu.org
2015-02-04 16:22 ` xdje42 at gmail dot com
2015-02-23 12:16 ` cvs-commit at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2015-01-31 23:15 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=17855
--- Comment #2 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The gdb-7.9-branch branch has been updated by Doug Evans
<devans@sourceware.org>:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=d4137b858a8b7916668f160a166ee375adcb601b
commit d4137b858a8b7916668f160a166ee375adcb601b
Author: Joel Brobecker <brobecker@adacore.com>
Date: Sat Jan 31 13:04:51 2015 -0800
PR symtab/17855
gdb/ChangeLog:
PR symtab/17855
* symfile.c (clear_symtab_users): Move call to breakpoint_re_set
to end.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug symtab/17855] clear_symtab_users doesn't call observer_notify_new_objfile (NULL) early enough
2015-01-18 4:53 [Bug symtab/17855] New: clear_symtab_users doesn't call observer_notify_new_objfile (NULL) early enough xdje42 at gmail dot com
2015-01-31 23:15 ` [Bug symtab/17855] " cvs-commit at gcc dot gnu.org
@ 2015-02-04 16:22 ` xdje42 at gmail dot com
2015-02-23 12:16 ` cvs-commit at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: xdje42 at gmail dot com @ 2015-02-04 16:22 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=17855
Doug Evans <xdje42 at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #3 from Doug Evans <xdje42 at gmail dot com> ---
patches are in trunk and 7.9 branch
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug symtab/17855] clear_symtab_users doesn't call observer_notify_new_objfile (NULL) early enough
2015-01-18 4:53 [Bug symtab/17855] New: clear_symtab_users doesn't call observer_notify_new_objfile (NULL) early enough xdje42 at gmail dot com
2015-01-31 23:15 ` [Bug symtab/17855] " cvs-commit at gcc dot gnu.org
2015-02-04 16:22 ` xdje42 at gmail dot com
@ 2015-02-23 12:16 ` cvs-commit at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2015-02-23 12:16 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=17855
--- Comment #4 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Doug Evans <devans@sourceware.org>:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=85c3a371b327377ba1014e8962ba41554599d3e6
commit 85c3a371b327377ba1014e8962ba41554599d3e6
Author: Doug Evans <xdje42@gmail.com>
Date: Sun Feb 22 09:11:55 2015 -0800
testcase for PR symtab/17855
gdb/testsuite/ChangeLog:
PR symtab/17855
* gdb.ada/exec_changed.exp: Add second test where symbol lookup cache
is read after symbols have been re-read.
* gdb.ada/exec_changed/first.adb (First): New procedure Break_Me.
* gdb.ada/exec_changed/second.adb (Second): Ditto.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-02-22 17:15 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-18 4:53 [Bug symtab/17855] New: clear_symtab_users doesn't call observer_notify_new_objfile (NULL) early enough xdje42 at gmail dot com
2015-01-31 23:15 ` [Bug symtab/17855] " cvs-commit at gcc dot gnu.org
2015-02-04 16:22 ` xdje42 at gmail dot com
2015-02-23 12:16 ` cvs-commit at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).