[Lldb-commits] [PATCH] D12104: [NativeProcessLinux] Fix a bug in instruction-stepping over thread creation
Tamas Berghammer via lldb-commits
lldb-commits at lists.llvm.org
Wed Aug 19 08:35:07 PDT 2015
tberghammer added inline comments.
Comment at: source/Plugins/Process/Linux/NativeProcessLinux.cpp:1049-1051
@@ -1047,5 +1048,5 @@
- NativeThreadProtocolSP new_thread_sp = GetThreadByID(tid);
+ NativeThreadLinuxSP new_thread_sp = std::static_pointer_cast<NativeThreadLinux>(GetThreadByID(tid));
(nit): You don't need this cast (the value is never used).
Comment at: source/Plugins/Process/Linux/NativeProcessLinux.cpp:1148
@@ +1147,3 @@
+ StateType previous_state = thread_sp->GetState();
You call SetStoppedWithNoReason before almost all ResumeThread but as far as I see it isn't used in ResumeThread (except checked in an assert) and ResumeThread overwrites it. I would prefer to remove these as for me they complicate the code without any reason, but I might miss their purpose.
Comment at: test/functionalities/thread/create_during_instruction_step/TestCreateDuringInstructionStep.py:60
@@ +59,3 @@
+ while process.GetNumThreads() < 2:
+ if thread.GetFrameAtIndex(0).GetFunctionName() in ['__sync_fetch_and_add_4', 'pthread_mutex_lock']:
+ # This skips some functions we have trouble stepping into. Testing stepping
Please make this list architecture specific or add a comment for each function with the architecture where it imposes an issue
More information about the lldb-commits