Date: Thu, 18 Sep 2014 16:59:34 +1200
From: aidalgol@amuri.net
Cc: Eli Zaretskii <eliz@gnu.org>
My reading of this is:
. the value being tested is originally in ECX
. it is stored in a temporary local variable at RBP+0x10
. then it is compared with 0x17 (decimal 23)
So you have two places to check: the ECX register and the value
pointed to by RBP+0x10.
Here we are:
(gdb) print $ecx
$3 = 6
(gdb) x $rbp+0x10
0x222e10: 0x00000001
Thanks. Both values are valid, although the second one is probably
the accurate one.
So again, this is a riddle for which I have no clues. Perhaps the
strange backtraces reported in bug #17753, and the discussion Ken
started on the Cygwin list about that, will bring some insight (e.g.,
is it possible that this code also runs in some other thread?).