This is the mail archive of the gdb-cvs@sourceware.org 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]

src/gdb ChangeLog gnu-nat.c


CVSROOT:	/cvs/src
Module name:	src
Changes by:	palves@sourceware.org	2013-09-18 12:00:06

Modified files:
	gdb            : ChangeLog gnu-nat.c 

Log message:
	[Hurd/gnu-nat] Fix old "signal-thread" command regression.
	
	By inspection, I noticed that when I made the gnu-nat use
	ptid(pid,0,tid) to represent a thread, instead of using ptid(tid,0,0),
	in <https://sourceware.org/ml/gdb-patches/2008-08/msg00175.html>, I
	introduced a bug.
	
	The change was:
	
	else
	{
	-      int tid = PIDGET (thread_id_to_pid (atoi (args)));
	+      int tid = ptid_get_tid (thread_id_to_pid (atoi (args)));
	if (tid < 0)
	error (_("Thread ID %s not known.  Use the \"info threads\" command to\n"
	"see the IDs of currently known threads."), args);
	
	and thread_id_to_pid does:
	
	ptid_t
	thread_id_to_pid (int num)
	{
	struct thread_info *thread = find_thread_id (num);
	
	if (thread)
	return thread->ptid;
	else
	return pid_to_ptid (-1);
	}
	
	(pid_to_ptid (-1) is the same as minus_one_ptid.)
	
	So before, we were really looking at the pid, where thread_id_to_pid
	stores the -1.
	
	The right fix is to compare the whole ptid to minus_one_ptid, of
	course.
	
	Completely untested, but I think it's obvious enough, so I went ahead
	and put it in.
	
	gdb/
	2013-09-18  Pedro Alves  <palves@redhat.com>
	
	* gnu-nat.c (set_sig_thread_cmd): Compare the thread's ptid to
	minus_one_ptid instead of looking at the ptid's tid field and
	comparing that to -1.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ChangeLog.diff?cvsroot=src&r1=1.16007&r2=1.16008
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/gnu-nat.c.diff?cvsroot=src&r1=1.86&r2=1.87


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