aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorAndreas Arnez <arnez@linux.vnet.ibm.com>2016-08-30 17:03:55 +0200
committerAndreas Arnez <arnez@linux.vnet.ibm.com>2016-08-30 17:03:55 +0200
commit5af962df4dda65216b83d0a954ea355296517f4b (patch)
tree17190557687e9dadf89779e91f74d8c884ccbd88 /gdb
parentb2b383620e85d6611044a1d98869831074ccb2f2 (diff)
downloadgdb-5af962df4dda65216b83d0a954ea355296517f4b.zip
gdb-5af962df4dda65216b83d0a954ea355296517f4b.tar.gz
gdb-5af962df4dda65216b83d0a954ea355296517f4b.tar.bz2
Fix order of inferiors in "thread apply all"
This inserts missing parentheses in the calculation of the comparison result between two different inferior numbers. The problem was found by Philipp Rudo. gdb/ChangeLog: * thread.c (tp_array_compar): Insert missing parentheses. gdb/testsuite/ChangeLog: * gdb.multi/tids.exp: Test "thread apply all".
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/testsuite/ChangeLog4
-rw-r--r--gdb/testsuite/gdb.multi/tids.exp6
-rw-r--r--gdb/thread.c2
4 files changed, 15 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 7f580f0..57ba33c 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2016-08-30 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * thread.c (tp_array_compar): Insert missing parentheses.
+
2016-08-25 Andreas Arnez <arnez@linux.vnet.ibm.com>
* xtensa-tdep.h (XTENSA_GDBARCH_TDEP_INSTANTIATE): Replace
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index aac52af..8b4cdd5 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2016-08-30 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * gdb.multi/tids.exp: Test "thread apply all".
+
2016-08-29 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.base/default.exp (tty): Remove.
diff --git a/gdb/testsuite/gdb.multi/tids.exp b/gdb/testsuite/gdb.multi/tids.exp
index 5d8701e..12ce98a 100644
--- a/gdb/testsuite/gdb.multi/tids.exp
+++ b/gdb/testsuite/gdb.multi/tids.exp
@@ -224,6 +224,12 @@ with_test_prefix "two inferiors" {
thr_apply_info_thr "1.1-2 2.2-3" \
"1.1 1.2 2.2 2.3"
+ # All threads.
+ thread_apply "all" \
+ "2.3 2.2 2.1 1.3 1.2 1.1"
+ thread_apply "all -ascending" \
+ "1.1 1.2 1.3 2.1 2.2 2.3"
+
# Now test using GDB convenience variables.
gdb_test "p \$inf = 1" " = 1"
diff --git a/gdb/thread.c b/gdb/thread.c
index ab98777..a66a2b5 100644
--- a/gdb/thread.c
+++ b/gdb/thread.c
@@ -1725,7 +1725,7 @@ tp_array_compar (const void *ap_voidp, const void *bp_voidp)
if (a->inf->num != b->inf->num)
{
- return ((a->inf->num > b->inf->num) - (a->inf->num < b->inf->num)
+ return (((a->inf->num > b->inf->num) - (a->inf->num < b->inf->num))
* (tp_array_compar_ascending ? +1 : -1));
}