Lines Matching refs:disassembler
17 # disassembler API.
47 # However, in the disassembler output addresses are padded with zeros.
49 # as a regexp in the disassembler output matching.
63 # disassembler class. The second element is a pattern that should be
64 # matched in the disassembler output.
66 # Each different disassembler tests some different feature of the
67 # Python disassembler API.
69 set unknown_error_pattern "unknown disassembler error \\(error = -1\\)"
92 [list "ShowInfoRepr" "${base_pattern}\\s+## <gdb.disassembler.DisassembleInfo address=$hex architecture=\[^>\]+>\r\n.*"] \
94 [list "ShowResultRepr" "${base_pattern}\\s+## <gdb.disassembler.DisassemblerResult length=$decimal string=\"\[^\r\n\]+\">\r\n.*"] \
102 [list "GdbErrorLateDisassembler" "${addr_pattern}GdbError after builtin disassembler\r\n${unknown_error_pattern}"] \
103 [list "RuntimeErrorLateDisassembler" "${addr_pattern}Python Exception <class 'RuntimeError'>: RuntimeError after builtin disassembler\r\n\r\n${unknown_error_pattern}"] \
139 "Cannot use 'string' and 'parts' when creating gdb\\.disassembler\\.DisassemblerResult\\."]] \
153 # If we have a disassembler to load, do it now.
158 # Disassemble test, and check the disassembler output.
165 gdb_test "python gdb.disassembler.DisassemblerResult(0, 'abc')" \
169 gdb_test "python gdb.disassembler.DisassemblerResult(-1, 'abc')" \
173 gdb_test "python gdb.disassembler.DisassemblerResult(1, '')" \
180 # global disassembler.
182 # First, register a global disassembler, and check it is in place.
183 with_test_prefix "GLOBAL tagging disassembler" {
185 gdb_test_no_output "python gdb.disassembler.register_disassembler(TaggingDisassembler(\"GLOBAL\"), None)"
189 # Now register an architecture specific disassembler, and check it
190 # overrides the global disassembler.
191 with_test_prefix "LOCAL tagging disassembler" {
192 gdb_test_no_output "python gdb.disassembler.register_disassembler(TaggingDisassembler(\"LOCAL\"), \"${curr_arch}\")"
196 # Now remove the architecture specific disassembler, and check that
197 # the global disassembler kicks back in.
198 with_test_prefix "GLOBAL tagging disassembler again" {
199 gdb_test_no_output "python gdb.disassembler.register_disassembler(None, \"${curr_arch}\")"
204 # disassembler.
212 # Test the memory source aspect of the builtin disassembler.
220 "second disassembler pass"
235 "list disassemblers, single global disassembler"
237 gdb_test_no_output "python gdb.disassembler.register_disassembler(disasm, arch)"
256 gdb_test "python gdb.disassembler.builtin_disassemble(my_info)" \
262 # Some of the disassembler related types should not be sub-typed,
265 foreach_with_prefix type {gdb.disassembler.DisassemblerResult \
266 gdb.disassembler.DisassemblerPart
267 gdb.disassembler.DisassemblerTextPart \
268 gdb.disassembler.DisassemblerAddressPart} {
284 gdb_test "python result = gdb.disassembler.DisassemblerResult()" \
291 gdb_test "python result = gdb.disassembler.DisassemblerResult($len)" \
301 gdb_test "python result = gdb.disassembler.${type}()" \