Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
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);



      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