Home | History | Annotate | Download | only in python

Lines Matching refs:disassembler

28 /* Implement gdb.disassembler.DisassembleInfo type.  An object of this type
29 represents a single disassembler request from GDB. */
58 /* Implement gdb.disassembler.DisassembleAddressPart type. An object of
80 /* Implement gdb.disassembler.DisassembleTextPart type. An object of
101 /* Implement gdb.disassembler.DisassemblerResult type, an object that holds
102 the result of calling the disassembler. This is mostly the length of
122 keep the performance impact of the Python disassembler down. This is
123 set to true from Python by calling gdb.disassembler._set_enabled() when
124 the user registers a disassembler. */
167 creates a new DisassemblerTextPart and adds it to the disassembler's
168 parts list. The actual disassembler is accessed through DIS_INFO,
181 /* Return the content of the disassembler as a string. The contents are
182 moved out of the disassembler, so after this call the disassembler
189 /* If there is a Python exception stored in this disassembler then
191 this disassembler, and return true. There must be no current
195 Otherwise, there is no exception stored in this disassembler, return
230 /* Move the exception EX into this disassembler object. */
239 /* Return true if there is an exception stored in this disassembler. */
386 /* Ensure that a gdb.disassembler.DisassembleInfo is valid. */
418 _("Invalid disassembler style."));
529 /* Implement gdb.disassembler.builtin_disassemble(). Calls back into GDB's
530 builtin disassembler. The first argument is a DisassembleInfo object
533 disassembler will actually disassemble.
535 Returns an instance of gdb.disassembler.DisassemblerResult, an object
553 gdbpy_disassembler disassembler (disasm_info, memory_source_obj);
560 disassembler.disasm_info ());
565 exception is stored in the disassembler and restored here. */
566 if (disassembler.restore_exception ())
572 /* In an ideal world, every disassembler should always call the
574 error a disassembler should encounter is a failure to read
581 where the disassembler didn't call the memory error function. */
582 if (disassembler.memory_error_address ().has_value ())
584 CORE_ADDR addr = *disassembler.memory_error_address ();
589 auto content = disassembler.release ();
614 gdb_assert (!disassembler.memory_error_address ().has_value ());
620 auto content = disassembler.release ();
626 sets whether GDB should enter the Python disassembler code or not.
628 This is called from within the Python code when a new disassembler is
631 check for a disassembler.
633 When the user registers a new Python disassembler, the global C++ flag
635 if there's a disassembler registered for the current architecture. */
735 /* Helper function called when the libopcodes disassembler produces some
747 analyse the disassembler output. */
783 /* Disassembler callback for architectures where libopcodes doesn't
800 /* Disassembler callback for architectures where libopcodes does create
818 called from the libopcodes disassembler when the disassembler wants to
868 Remember, the disassembler might just be probing to see if these
1209 /* A reference to a gdb.disassembler.DisassembleInfo object. When this
1227 case (no custom disassembler installed) this flag will be false,
1234 /* Import the gdb.disassembler module. */
1236 (PyImport_ImportModule ("gdb.disassembler"));
1259 /* Call into the registered disassembler to (possibly) perform the
1333 /* The result from the Python disassembler has the correct type. Convert
1421 constant defined in the gdb.disassembler module. */
1440 gdb_assert_not_reached ("unknown disassembler style");
1541 /* The get/set attributes of the gdb.disassembler.DisassembleInfo type. */
1553 /* The methods of the gdb.disassembler.DisassembleInfo type. */
1574 /* The get/set attributes of the gdb.disassembler.DisassemblerResult type. */
1586 /* The get/set attributes of the gdb.disassembler.DisassemblerTextPart type. */
1596 /* The get/set attributes of the gdb.disassembler.DisassemblerAddressPart type. */
1606 /* These are the methods we add into the _gdb.disassembler module, which
1607 are then imported into the gdb.disassembler module. These are global
1615 Disassemble using GDB's builtin disassembler. INFO is an instance of\n\
1616 gdb.disassembler.DisassembleInfo. The MEMORY_SOURCE, if not None, should\n\
1625 /* Structure to define the _gdb.disassembler module. */
1630 "_gdb.disassembler",
1645 /* Create the _gdb.disassembler module, and add it to the _gdb module. */
1651 if (gdb_pymodule_addobject (gdb_module, "disassembler",
1655 /* This is needed so that 'import _gdb.disassembler' will work. */
1657 if (PyDict_SetItemString (dict, "_gdb.disassembler",
1718 /* Describe the gdb.disassembler.DisassembleInfo type. */
1722 "gdb.disassembler.DisassembleInfo", /*tp_name*/
1741 "GDB instruction disassembler object", /* tp_doc */
1760 /* Describe the gdb.disassembler.DisassemblerResult type. */
1764 "gdb.disassembler.DisassemblerResult", /*tp_name*/
1783 "GDB object, representing a disassembler result", /* tp_doc */
1802 /* Describe the gdb.disassembler.DisassemblerPart type. This type exists
1809 "gdb.disassembler.DisassemblerPart", /*tp_name*/
1847 /* Describe the gdb.disassembler.DisassemblerTextPart type. */
1851 "gdb.disassembler.DisassemblerTextPart", /*tp_name*/
1889 /* Describe the gdb.disassembler.DisassemblerAddressPart type. */
1893 "gdb.disassembler.DisassemblerAddressPart", /*tp_name*/