aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorChaoren Lin <chaorenl@google.com>2015-02-03 01:50:49 +0000
committerChaoren Lin <chaorenl@google.com>2015-02-03 01:50:49 +0000
commit03f12d6b224cb6691a4fee4e08adc156a3a8fd28 (patch)
tree4366c7eec81220240dd11b201729b8b078c39590 /clang/lib/CodeGen/CodeGenModule.cpp
parentae29d39570cacf4c82590162a26d89bacbb6d8d3 (diff)
downloadllvm-03f12d6b224cb6691a4fee4e08adc156a3a8fd28.zip
llvm-03f12d6b224cb6691a4fee4e08adc156a3a8fd28.tar.gz
llvm-03f12d6b224cb6691a4fee4e08adc156a3a8fd28.tar.bz2
llgs: more work on thread stepping.
See https://github.com/tfiala/lldb/issues/75. Not fixed yet but continuing to push this further. Fixes: * Resume() now skips doing deferred notifications if we're doing a vCont;{c,C}. In this case, we're trying to start something up, not defer a stop notification. The default thread action stop mode pickup was triggering a stop because it had at least one stop, which was wrong in the case of a continue. (Bug introduced by previous change.) * Added a variant to ThreadStateCoordinator to specify a set of thread ids to be skipped when triggering stop notifications to non-stopped threads on a deferred signal call. For the case of a stepping thread, it is actually told to step (and is running) for a brief moment, but the thread state coordinator would think it needed to send the stepping thread a stop, which id doesn't need to do. This facility allows me to get around that cleanly. With this change, behavior is now reduced to something I think is essentially a different bug: * Doing a step into libc code from my code crashes llgs. * Doing a next out of a function in my own code crashes llgs. llvm-svn: 227912
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions