This revision was automatically updated to reflect the committed changes.
Closed by commit rG9a9bf12c4a10: [lldb/crashlog] Fix arm64 register parsing on
crashlog.py (authored by mib).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D119168/new/
https://reviews.llvm.org/D119168
Files:
lldb/examples/python/crashlog.py
Index: lldb/examples/python/crashlog.py
===================================================================
--- lldb/examples/python/crashlog.py
+++ lldb/examples/python/crashlog.py
@@ -520,17 +520,21 @@
self.crashlog.threads.append(thread)
idx += 1
- def parse_thread_registers(self, json_thread_state):
+ def parse_thread_registers(self, json_thread_state, prefix=None):
registers = dict()
for key, state in json_thread_state.items():
if key == "rosetta":
- registers.update(self.parse_thread_registers(state))
- continue
+ registers.update(self.parse_thread_registers(state))
+ continue
+ if key == "x":
+ gpr_dict = { str(idx) : reg for idx,reg in enumerate(state) }
+ registers.update(self.parse_thread_registers(gpr_dict, key))
+ continue
try:
- value = int(state['value'])
- registers[key] = value
+ value = int(state['value'])
+ registers["{}{}".format(prefix,key)] = value
except (KeyError, ValueError, TypeError):
- pass
+ pass
return registers
def parse_errors(self, json_data):
Index: lldb/examples/python/crashlog.py
===================================================================
--- lldb/examples/python/crashlog.py
+++ lldb/examples/python/crashlog.py
@@ -520,17 +520,21 @@
self.crashlog.threads.append(thread)
idx += 1
- def parse_thread_registers(self, json_thread_state):
+ def parse_thread_registers(self, json_thread_state, prefix=None):
registers = dict()
for key, state in json_thread_state.items():
if key == "rosetta":
- registers.update(self.parse_thread_registers(state))
- continue
+ registers.update(self.parse_thread_registers(state))
+ continue
+ if key == "x":
+ gpr_dict = { str(idx) : reg for idx,reg in enumerate(state) }
+ registers.update(self.parse_thread_registers(gpr_dict, key))
+ continue
try:
- value = int(state['value'])
- registers[key] = value
+ value = int(state['value'])
+ registers["{}{}".format(prefix,key)] = value
except (KeyError, ValueError, TypeError):
- pass
+ pass
return registers
def parse_errors(self, json_data):
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits