This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] stack.c: Always set current_source_{symtab,line}


Keith Seitz writes:
 > Hi,
 > 
 > Another MI fallout. This has changed a few times in the past few months, 
 > but I believe that this is how it should be for anything that uses the 
 > CLI/command interpreter.
 > 
 > Without this, an -interpreter-exec call in MI will get "lost". (Use MI to 
 > stop at breakpoint, step a few times, use console interp to "break" -- 
 > breakpoint would be set someplace other than current location.)
 > 

Seems an ok patch, but do you have an example command sequence
before/after that shows where things go wrong? I am having a bit of a
hard time visualizing the interaction.

Elena


 > I've run this through the testsuite, and it introduces no new failures. 
 > (And of course, it still works with Insight.)
 > 
 > Keith
 > 
 > ChangeLog
 > 2002-08-14  Keith Seitz  <keiths@redhat.com>
 > 
 >         * stack.c (print_frame_info_base): Always set current_source_symtab
 >         and current_source_line.
 > 
 > Patch
 > Index: stack.c
 > ===================================================================
 > RCS file: /cvs/src/src/gdb/stack.c,v
 > retrieving revision 1.40
 > diff -p -r1.40 stack.c
 > *** stack.c	11 Jul 2002 19:29:08 -0000	1.40
 > --- stack.c	14 Aug 2002 23:17:59 -0000
 > *************** print_frame_info_base (struct frame_info
 > *** 398,403 ****
 > --- 398,408 ----
 >       print_frame (fi, level, source, args, sal);
 >   
 >     source_print = (source == SRC_LINE || source == SRC_AND_LOC);
 > +   if (sal.symtab != NULL)
 > +     {
 > +       current_source_symtab = sal.symtab;
 > +       current_source_line = sal.line;
 > +     }
 >   
 >     if (source_print && sal.symtab)
 >       {
 > *************** print_frame_info_base (struct frame_info
 > *** 410,419 ****
 >         if (!done)
 >   	{
 >   	  if (print_frame_info_listing_hook)
 > ! 	    {
 > ! 	      print_frame_info_listing_hook (sal.symtab, sal.line, sal.line + 1, 0);
 > ! 	      current_source_symtab = sal.symtab;
 > ! 	    }
 >   	  else
 >   	    {
 >   	      /* We used to do this earlier, but that is clearly
 > --- 415,421 ----
 >         if (!done)
 >   	{
 >   	  if (print_frame_info_listing_hook)
 > ! 	    print_frame_info_listing_hook (sal.symtab, sal.line, sal.line + 1, 0);
 >   	  else
 >   	    {
 >   	      /* We used to do this earlier, but that is clearly
 > 
 > 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]