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]

[PATCH] interpreter_exec_cmd (interps.c)


GDB hangs if it receives the previously legitimate command
server interpreter mi "-var-update *"


GNU gdb 6.3.50.20050125-cvs
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i586-pc-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) server interpreter mi "-var-update *"
^done,changelist=[]
(gdb) 
error in command: "-var-update *".


The patch below seems to fix it. I don't know what values reason takes as
struct exception in exception.h has no commented description, so this patch is
a bit of a guess and may not be the right fix. The bug is real, however.
There seems to be a further bug, in that once GDB has reached the line in
interps.c, 

error ("error in command: \"%s\".", prules[i]),

,presumably it shouldn't hang.


Nick


*** /home/nick/src/gdb/interps.c.~1.10.~	2005-01-16 15:46:17.000000000 +1300
--- /home/nick/src/gdb/interps.c	2005-01-25 22:47:42.000000000 +1300
***************
*** 399,405 ****
    for (i = 1; i < nrules; i++)
      {
        struct exception e = interp_exec (interp_to_use, prules[i]);
!       if (!e.reason)
  	{
  	  interp_set (old_interp);
  	  interp_set_quiet (interp_to_use, old_quiet);
--- 399,405 ----
    for (i = 1; i < nrules; i++)
      {
        struct exception e = interp_exec (interp_to_use, prules[i]);
!       if (e.reason)
  	{
  	  interp_set (old_interp);
  	  interp_set_quiet (interp_to_use, old_quiet);


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