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/remote] Reread symbols on 'target remote'


On Mon, Mar 22, 2004 at 05:28:48PM -0500, Andrew Cagney wrote:
> 
> >>>While "run" and "load" are fairly obvious sync points for GDB and its 
> >>>executable I'm not sure that "target remote" is - it's behavior is kind 
> >>>of sort of a screwed up version of attach.
> >>>
> >>>What does that do (as far as I can tell it doesn't re-read symbols)?
> >
> >
> >I think you're right - attach won't reread symbols either.  I believe
> >run is the only current sync point.  My instinct is that target remote
> >and attach both ought to be - I know that if I'm debugging something
> >that needs to be started in a separate environment and attached to, and
> >I detach, rebuilt, re-attach, I'd be confused if GDB didn't
> >auto-reload.  I know I've tried to do the same thing for target remote,
> >and expected GDB to reload - it didn't, and it took me a while to work
> >out what the problem was.
> >
> >We should probably be consistent.  Want me to get attach too?
> 
> Well attach is more messed up than that.  It might load the symbol table 
> (if it isn't already loaded and can be determined from /proc).  Should 
> attach instead always load the symbol table, prefering what is provided 
> by the executable?

If I'm reading you right - then I think the answer is yes.  What's your
opinion on the patch below?  If there is no exec file, then attempt to
determine one from target_pid_to_exec_file.  Otherwise, attempt to
reread the exec file.

> (meanwhile the remote change might as well go in to mainline)

OK, checked in.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer

2004-03-23  Daniel Jacobowitz  <drow@mvista.com>

	* infcmd.c (attach_command): Reread symbols if we already have
	an exec file.

Index: infcmd.c
===================================================================
RCS file: /cvs/src/src/gdb/infcmd.c,v
retrieving revision 1.105
diff -u -p -r1.105 infcmd.c
--- infcmd.c	14 Feb 2004 17:26:35 -0000	1.105
+++ infcmd.c	23 Mar 2004 15:47:33 -0000
@@ -1843,6 +1843,11 @@ attach_command (char *args, int from_tty
 	  symbol_file_add_main (full_exec_path, from_tty);
 	}
     }
+  else
+    {
+      reopen_exec_file ();
+      reread_symbols ();
+    }
 
 #ifdef SOLIB_ADD
   /* Add shared library symbols from the newly attached process, if any.  */


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