[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 13:26:58 PST 2022
mib added a subscriber: jingham.
mib added inline comments.
================
Comment at: lldb/examples/python/scripted_process/scripted_process.py:338
+
+ARM64_GPR = [ {'name': 'x0', 'bitsize': 64, 'offset': 0, 'encoding': 'uint', 'format': 'hex', 'set': 0, 'gcc': 0, 'dwarf': 0, 'generic': 'arg0', 'alt-name': 'arg0'},
+ {'name': 'x1', 'bitsize': 64, 'offset': 8, 'encoding': 'uint', 'format': 'hex', 'set': 0, 'gcc': 1, 'dwarf': 1, 'generic': 'arg1', 'alt-name': 'arg1'},
----------------
JDevlieghere wrote:
> Generally constants go at the top of the file, but this is rather bulky, so I don't mind it being at the bottom.
Felt the same, so I put it here.
================
Comment at: lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py:202-212
+ # When creating a corefile of a arm process, lldb saves the exception
+ # that triggers the breakpoint in the LC_NOTES of the corefile, so they
+ # can be reloaded with the corefile on the next debug session.
+ if arch in 'arm64e':
+ self.assertTrue(thread.GetStopReason(), lldb.eStopReasonException)
+ # However, it's architecture specific, and corefiles made from intel
+ # process don't save any metadata to retrieve to stop reason.
----------------
@jingham This is also another reason why D118482 is "necessary":
On intel, the corefile threads all report an `eStopReasonNone`, so having a python `lldb.ScriptedProcess.get_selected_thread_index` allows me to create the signal stop reason, otherwise, all of the scripted process threads report `eStopReasonNone` and the process runs forever.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D118484/new/
https://reviews.llvm.org/D118484
More information about the lldb-commits
mailing list