binutils-gdb/gdb/python
Andrew Burgess e4ae302562 gdb: add extension language print_insn hook
This commit is setup for the next commit.

In the next commit I will add a Python API to intercept the print_insn
calls within GDB, each print_insn call is responsible for
disassembling, and printing one instruction.  After the next commit it
will be possible for a user to write Python code that either wraps
around the existing disassembler, or even, in extreme situations,
entirely replaces the existing disassembler.

This commit does not add any new Python API.

What this commit does is put the extension language framework in place
for a print_insn hook.  There's a new callback added to 'struct
extension_language_ops', which is then filled in with nullptr for Python
and Guile.

Finally, in the disassembler, the code is restructured so that the new
extension language function ext_lang_print_insn is called before we
delegate to gdbarch_print_insn.

After this, the next commit can focus entirely on providing a Python
implementation of the new print_insn callback.

There should be no user visible change after this commit.
2022-06-15 09:44:54 +01:00
..
lib/gdb Remove more Python 2 code 2022-04-04 03:40:22 -06:00
py-all-events.def
py-arch.c gdb/python: remove Python 2/3 compatibility macros 2022-03-23 07:42:57 -04:00
py-auto-load.c Unify gdb printf functions 2022-03-29 12:46:24 -06:00
py-block.c gdb: remove BLOCK_SUPERBLOCK macro 2022-04-27 22:05:03 -04:00
py-bpevent.c
py-breakpoint.c Unify gdb printf functions 2022-03-29 12:46:24 -06:00
py-cmd.c gdb/python: improve formatting of help text for user defined commands 2022-05-28 10:36:50 +01:00
py-connection.c gdb/python: remove Python 2/3 compatibility macros 2022-03-23 07:42:57 -04:00
py-continueevent.c
py-event-types.def
py-event.c
py-event.h Remove "typedef enum ..." 2022-04-28 09:31:15 -06:00
py-events.h Use bool for evregpy_no_listeners_p 2022-06-03 10:35:30 -06:00
py-evtregistry.c Use bool for evregpy_no_listeners_p 2022-06-03 10:35:30 -06:00
py-evts.c gdb/python: remove Python 2 support 2022-03-23 07:41:19 -04:00
py-exitedevent.c
py-finishbreakpoint.c Rename base_breakpoint -> code_breakpoint 2022-05-20 20:41:02 +01:00
py-frame.c Add gdb.current_language and gdb.Frame.language 2022-06-01 06:15:53 -06:00
py-framefilter.c Unify gdb printf functions 2022-03-29 12:46:24 -06:00
py-function.c
py-gdb-readline.c
py-inferior.c gdb/python: remove Python 2/3 compatibility macros 2022-03-23 07:42:57 -04:00
py-infevents.c
py-infthread.c gdb/python: remove Python 2/3 compatibility macros 2022-03-23 07:42:57 -04:00
py-instruction.c
py-instruction.h
py-lazy-string.c gdb/python: remove Python 2/3 compatibility macros 2022-03-23 07:42:57 -04:00
py-linetable.c gdb: remove SYMTAB_LINETABLE macro, add getter/setter 2022-02-06 15:48:19 -05:00
py-membuf.c gdb/python: remove Python 2/3 compatibility macros 2022-03-23 07:42:57 -04:00
py-micmd.c Unify gdb printf functions 2022-03-29 12:46:24 -06:00
py-newobjfileevent.c
py-objfile.c gdb/python: remove Python 2/3 compatibility macros 2022-03-23 07:42:57 -04:00
py-param.c gdb/python: improve formatting of help text for user defined commands 2022-05-28 10:36:50 +01:00
py-prettyprint.c ODR warning for "enum string_repr_result" 2022-06-02 09:04:45 -06:00
py-progspace.c Constify solib_name_from_address 2022-06-07 07:21:26 -06:00
py-record-btrace.c gdb/python: remove Python 2/3 compatibility macros 2022-03-23 07:42:57 -04:00
py-record-btrace.h
py-record-full.c gdb/python: remove Python 2/3 compatibility macros 2022-03-23 07:42:57 -04:00
py-record-full.h
py-record.c gdb/python: remove Python 2/3 compatibility macros 2022-03-23 07:42:57 -04:00
py-record.h
py-ref.h
py-registers.c gdb: move struct reggroup into reggroups.h header 2022-04-07 16:01:18 +01:00
py-signalevent.c gdb/python: remove Python 2/3 compatibility macros 2022-03-23 07:42:57 -04:00
py-stopevent.c
py-stopevent.h
py-symbol.c gdb: remove BLOCKVECTOR_BLOCK and BLOCKVECTOR_NBLOCKS macros 2022-04-27 22:05:03 -04:00
py-symtab.c gdb: remove BLOCKVECTOR_BLOCK and BLOCKVECTOR_NBLOCKS macros 2022-04-27 22:05:03 -04:00
py-threadevent.c
py-tui.c Change how Python architecture and language are handled 2022-01-26 06:49:51 -07:00
py-type.c gdb/python: remove Python 2/3 compatibility macros 2022-03-23 07:42:57 -04:00
py-unwind.c Unify gdb printf functions 2022-03-29 12:46:24 -06:00
py-utils.c gdb/python: convert gdbpy_err_fetch to use gdbpy_ref 2022-06-15 09:44:54 +01:00
py-value.c Remove obsolete Python 2 comment 2022-06-05 10:11:37 -06:00
py-varobj.c
py-xmethods.c gdb/python: remove Python 2/3 compatibility macros 2022-03-23 07:42:57 -04:00
python-config.py
python-internal.h gdb/python: convert gdbpy_err_fetch to use gdbpy_ref 2022-06-15 09:44:54 +01:00
python.c gdb: add extension language print_insn hook 2022-06-15 09:44:54 +01:00
python.h