From: Fred Fish <fnf@specifix.com>
To: Jim Blandy <jimb@red-bean.com>
Cc: gdb-patches@sourceware.org
Subject: [commit] Clear current source symtab if belongs to objfile being freed
Date: Fri, 06 Jan 2006 16:26:00 -0000 [thread overview]
Message-ID: <200601061126.38530.fnf@specifix.com> (raw)
In-Reply-To: <8f2776cb0601051408va10ba1aw3ec142a066ba77fc@mail.gmail.com>
On Thursday 05 January 2006 17:08, Jim Blandy wrote:
> Okay. The original patch is fine; consider the doc change I suggested.
Done. Here is the revised patch.
-Fred
2006-01-06 Fred Fish <fnf@specifix.com>
* objfiles.c (source.h): Include.
(free_objfile): Update comment about clear_symtab_users().
(free_objfile): Check all symtabs of objfile being freed and if
one of them is the current source symtab, call
clear_current_source_symtab_and_line().
Index: objfiles.c
===================================================================
RCS file: /cvs/src/src/gdb/objfiles.c,v
retrieving revision 1.62
diff -c -p -r1.62 objfiles.c
*** objfiles.c 17 Dec 2005 22:34:01 -0000 1.62
--- objfiles.c 6 Jan 2006 16:22:26 -0000
***************
*** 45,50 ****
--- 45,51 ----
#include "breakpoint.h"
#include "block.h"
#include "dictionary.h"
+ #include "source.h"
/* Prototypes for local functions */
*************** free_objfile (struct objfile *objfile)
*** 432,441 ****
is unknown, but we play it safe for now and keep each action until
it is shown to be no longer needed. */
! /* I *think* all our callers call clear_symtab_users. If so, no need
! to call this here. */
clear_pc_function_cache ();
/* The last thing we do is free the objfile struct itself. */
objfile_free_data (objfile);
--- 433,456 ----
is unknown, but we play it safe for now and keep each action until
it is shown to be no longer needed. */
! /* Not all our callers call clear_symtab_users (objfile_purge_solibs,
! for example), so we need to call this here. */
clear_pc_function_cache ();
+ /* Check to see if the current_source_symtab belongs to this objfile,
+ and if so, call clear_current_source_symtab_and_line. */
+
+ {
+ struct symtab_and_line cursal = get_current_source_symtab_and_line ();
+ struct symtab *s;
+
+ ALL_OBJFILE_SYMTABS (objfile, s)
+ {
+ if (s == cursal.symtab)
+ clear_current_source_symtab_and_line ();
+ }
+ }
+
/* The last thing we do is free the objfile struct itself. */
objfile_free_data (objfile);
prev parent reply other threads:[~2006-01-06 16:26 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-03 17:42 [PATCH] " Fred Fish
2006-01-03 23:26 ` Jim Blandy
2006-01-04 20:57 ` Fred Fish
2006-01-05 22:08 ` Jim Blandy
2006-01-06 16:26 ` Fred Fish [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200601061126.38530.fnf@specifix.com \
--to=fnf@specifix.com \
--cc=gdb-patches@sourceware.org \
--cc=jimb@red-bean.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox