[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