This is the mail archive of the gdb-patches@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]

Re: deal thread id as unsigned


On Tue, Apr 17, 2007 at 11:01:43AM +0900, Yoriko Komatsuzaki wrote:
> 
> Thank you for your reply and suggestion.
> 
> I get my mind around no modification of defs.h because of the care for other
> os'es. 
> 
> Concerning to thread id printing, I would appreciate it if you could
> consider to print it by hexadecimal notation.

Yes, this is a good idea.  Sorry for the delay; I checked in this
patch, to change the output to hexadecimal.  Tested on x86_64-linux.

I've just realized that the test change won't work on remote
debugging; I'll fix up linux-dp.exp.

-- 
Daniel Jacobowitz
CodeSourcery

2007-05-14  Daniel Jacobowitz  <dan@codesourcery.com>

	* linux-thread-db.c (thread_db_pid_to_str): Print thread IDs
	as hexadecimal.

	* gdb.threads/linux-dp.exp: Expect hexadecimal thread IDs.
	* gdb.threads/print-threads.exp (test_all_threads): Allow
	negative and hexadecimal thread IDs.

Index: linux-thread-db.c
===================================================================
RCS file: /cvs/src/src/gdb/linux-thread-db.c,v
retrieving revision 1.29
diff -u -p -r1.29 linux-thread-db.c
--- linux-thread-db.c	11 May 2007 19:55:19 -0000	1.29
+++ linux-thread-db.c	14 May 2007 16:49:49 -0000
@@ -1013,10 +1013,10 @@ thread_db_pid_to_str (ptid_t ptid)
 
       thread_info = find_thread_pid (ptid);
       if (thread_info == NULL)
-	snprintf (buf, sizeof (buf), "Thread %ld (LWP %ld) (Missing)",
+	snprintf (buf, sizeof (buf), "Thread 0x%lx (LWP %ld) (Missing)",
 		  GET_THREAD (ptid), GET_LWP (ptid));
       else
-	snprintf (buf, sizeof (buf), "Thread %ld (LWP %ld)",
+	snprintf (buf, sizeof (buf), "Thread 0x%lx (LWP %ld)",
 		  GET_THREAD (ptid), GET_LWP (ptid));
 
       return buf;
Index: testsuite/gdb.threads/linux-dp.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/linux-dp.exp,v
retrieving revision 1.15
diff -u -p -r1.15 linux-dp.exp
--- testsuite/gdb.threads/linux-dp.exp	9 Jan 2007 17:59:14 -0000	1.15
+++ testsuite/gdb.threads/linux-dp.exp	14 May 2007 16:49:50 -0000
@@ -74,7 +74,7 @@ for {set i 0} {$i < 5} {incr i} {
 	-re "info threads\r\n" {
 	    exp_continue
 	}
-	-re "^. +(\[0-9\]+ Thread \[-0-9\]+) \[^\n\]*\n" {
+	-re "^. +(\[0-9\]+ Thread 0x\[0-9a-f\]+) \[^\n\]*\n" {
 	    verbose -log "found thread $expect_out(1,string)" 2
 	    lappend threads_before $expect_out(1,string)
 	    exp_continue
@@ -147,7 +147,7 @@ for {set i 0} {$i < 5} {incr i} {
 	-re "info threads\r\n" {
 	    exp_continue
 	}
-	-re "^. +(\[0-9\]+ Thread \[-0-9\]+) \[^\n\]*\n" {
+	-re "^. +(\[0-9\]+ Thread 0x\[0-9a-f\]+) \[^\n\]*\n" {
 	    set name $expect_out(1,string)
 	    for {set j 0} {$j != [llength $threads_before] } {incr j} {
 		if {$name == [lindex $threads_before $j]} {
Index: testsuite/gdb.threads/print-threads.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/print-threads.exp,v
retrieving revision 1.7
diff -u -p -r1.7 print-threads.exp
--- testsuite/gdb.threads/print-threads.exp	9 Jan 2007 17:59:14 -0000	1.7
+++ testsuite/gdb.threads/print-threads.exp	14 May 2007 16:49:50 -0000
@@ -94,7 +94,7 @@ proc test_all_threads { name kill } {
 		fail "all threads ran once ($name) (total $i threads ran)"
 	    }
 	}
-	-re "Program received signal SIGTRAP.*(Thread \[0-9\]* \\(zombie\\)|0x00000000 in ).*$gdb_prompt $" {
+	-re "Program received signal SIGTRAP.*(Thread \[-0-9a-fx\]* \\(zombie\\)|0x00000000 in ).*$gdb_prompt $" {
 	    if { $kill == 1 } {
 		kfail "gdb/1265" "Running threads ($name) (zombie thread)"
 	    } else {


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