aboutsummaryrefslogtreecommitdiff
path: root/gdb/python
diff options
context:
space:
mode:
authorPedro Alves <pedro@palves.net>2023-11-20 17:49:08 +0000
committerPedro Alves <pedro@palves.net>2023-12-20 21:18:31 +0000
commitd0b591497952db37ed7a5545ced7aad64433f79a (patch)
tree9927c779d5d12603e1b670d57436735cfef059be /gdb/python
parent4ea7412e53616ecc29d61a95ff8afc284ed9d240 (diff)
downloadbinutils-d0b591497952db37ed7a5545ced7aad64433f79a.zip
binutils-d0b591497952db37ed7a5545ced7aad64433f79a.tar.gz
binutils-d0b591497952db37ed7a5545ced7aad64433f79a.tar.bz2
Ensure selected thread after thread exit stop
While making step over thread exit work properly on AMDGPU, I noticed that if there's a breakpoint on top of the exit syscall, and, displaced stepping is off, then when GDB reports "Command aborted, thread exited.", GDB also switches focus to a random thread, instead of leaving the exited thread as selected: (gdb) thread [Current thread is 6, lane 0 (AMDGPU Lane 1:4:1:1/0 (0,0,0)[0,0,0])] (gdb) si Command aborted, thread exited. (gdb) thread [Current thread is 5 (Thread 0x7ffff626f640 (LWP 3248392))] (gdb) The previous patch extended gdb.threads/step-over-thread-exit.exp to exercise this on GNU/Linux (on the CPU side), and there, after that "si", we always end up with the exiting thread as selected even without this fix, but that's just a concidence, there's a code path that happens to select the exiting thread for an unrelated reason. This commit add the explict switch, fixing the latent problem for GNU/Linux, and the actual problem on AMDGPU. I wrote a gdb.rocm/ testcase for this, but it can't be upstreamed yet, until more pieces of the DWARF machinery are upstream as well. Approved-By: Simon Marchi <simon.marchi@efficios.com> Change-Id: I6ff57a79514ac0142bba35c749fe83d53d9e4e51
Diffstat (limited to 'gdb/python')
0 files changed, 0 insertions, 0 deletions