[Lldb-commits] [PATCH] D118484: [lldb/test] Fix TestScriptedProcess.py timeout on x86_64
Med Ismail Bennani via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Fri Jan 28 11:13:58 PST 2022
mib marked 2 inline comments as done.
mib added inline comments.
================
Comment at: lldb/test/API/functionalities/scripted_process/invalid_scripted_process.py:57
return { "type": lldb.eStopReasonSignal, "data": {
- "signal": signal.SIGINT
+ "signal": signal.SIGTRAP
} }
----------------
JDevlieghere wrote:
> What's the motivation from switching from SIGINT to SIGTRAP?
I don't think this is very important, but reporting it as a SIGTRAP is more in line with what debugserver does for breakpoints.
================
Comment at: lldb/test/API/functionalities/scripted_process/stack_core_scripted_process.py:128-137
+ selected_thread_idx = self.scripted_process.get_selected_thread_index()
+ if selected_thread_idx == self.corefile_thread.GetIndexID():
+ if 'arm64' in self.scripted_process.arch:
+ stop_reason["type"] = lldb.eStopReasonException
stop_reason["data"]["desc"] = self.corefile_thread.GetStopDescription(100)
+ elif self.scripted_process.arch == 'x86_64':
+ stop_reason["type"] = lldb.eStopReasonSignal
----------------
JDevlieghere wrote:
> Can you remind me why we can't read this information from the thread in the core file?
Besides on arm, we don't save any breakpoint info in the core file, so all of the core file threads reports a `eStopReasonNone`. So when I try to emulate the core file process from a Scripted Process, the scripted process never stops because none of its threads has a stop reason. That's why we have to fake a SIGTRAP for x86_64.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D118484/new/
https://reviews.llvm.org/D118484
More information about the lldb-commits
mailing list