binutils-gdb/gdb/python
Andrew Burgess 8a3b17063e gdb/python: break more dependencies between gdbpy_initialize_* functions
In a later commit in this series I will propose removing all of the
explicit gdbpy_initialize_* calls from python.c and replace these
calls with a more generic mechanism.

One of the side effects of this generic mechanism is that the order in
which the various Python sub-systems within GDB are initialized is no
longer guaranteed.

On the whole I don't think this matters, most of the sub-systems are
independent of each other, though testing did reveal a few places
where we did have dependencies, though I don't think those
dependencies were explicitly documented in comment anywhere.

This commit is similar to the previous one, and fixes the second
dependency issue that I found.

In this case the finish_breakpoint_object_type uses the
breakpoint_object_type as its tp_base, this means that
breakpoint_object_type must have been initialized with a call to
PyType_Ready before finish_breakpoint_object_type can be initialized.

Previously we depended on the ordering of calls to
gdbpy_initialize_breakpoints and gdbpy_initialize_finishbreakpoints in
python.c.

After this commit a new function gdbpy_breakpoint_init_breakpoint_type
exists, this function ensures that breakpoint_object_type has been
initialized, and can be called from any gdbpy_initialize_* function.

I feel that this change makes the dependency explicit, which I think
is a good thing.

There should be no user visible changes after this commit.
2022-10-20 16:49:53 +01:00
..
lib/gdb gdb/disasm: better intel flavour disassembly styling with Pygments 2022-10-02 17:30:04 +01:00
py-all-events.def Add gdb.free_objfile event registry 2022-07-18 11:25:34 -06:00
py-arch.c Use registry in gdbarch 2022-08-04 13:28:04 -06:00
py-auto-load.c
py-block.c Rewrite registry.h 2022-07-28 14:16:50 -06:00
py-bpevent.c
py-breakpoint.c gdb/python: break more dependencies between gdbpy_initialize_* functions 2022-10-20 16:49:53 +01:00
py-cmd.c Use PyBool_FromLong 2022-06-23 09:27:30 -06:00
py-connection.c
py-continueevent.c
py-disasm.c gdb/python: fix invalid use disassemble_info::stream 2022-07-25 19:26:24 +01:00
py-event-types.def Add gdb.free_objfile event registry 2022-07-18 11:25:34 -06:00
py-event.c
py-event.h Change GDB to use frame_info_ptr 2022-10-10 11:57:10 +02:00
py-events.h Use bool for evregpy_no_listeners_p 2022-06-03 10:35:30 -06:00
py-evtregistry.c Make 'import gdb.events' work 2022-07-05 10:28:39 -06:00
py-evts.c Make 'import gdb.events' work 2022-07-05 10:28:39 -06:00
py-exitedevent.c
py-finishbreakpoint.c gdb/python: break more dependencies between gdbpy_initialize_* functions 2022-10-20 16:49:53 +01:00
py-frame.c Change GDB to use frame_info_ptr 2022-10-10 11:57:10 +02:00
py-framefilter.c Change GDB to use frame_info_ptr 2022-10-10 11:57:10 +02:00
py-function.c
py-gdb-readline.c
py-inferior.c Change GDB to use frame_info_ptr 2022-10-10 11:57:10 +02:00
py-infevents.c Change GDB to use frame_info_ptr 2022-10-10 11:57:10 +02:00
py-infthread.c
py-instruction.c gdb/python: break dependencies between gdbpy_initialize_* functions 2022-10-20 16:49:53 +01:00
py-instruction.h gdb/python: break dependencies between gdbpy_initialize_* functions 2022-10-20 16:49:53 +01:00
py-lazy-string.c gdb: remove TYPE_TARGET_TYPE 2022-09-21 10:59:49 -04:00
py-linetable.c
py-membuf.c
py-micmd.c
py-newobjfileevent.c Add gdb.free_objfile event registry 2022-07-18 11:25:34 -06:00
py-objfile.c gdb, python: use gdbarch_iterate_over_objfiles_in_search_order 2022-10-18 14:16:09 +02: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 gdb: remove TYPE_LENGTH 2022-09-21 11:05:21 -04:00
py-progspace.c Rewrite registry.h 2022-07-28 14:16:50 -06:00
py-record-btrace.c
py-record-btrace.h
py-record-full.c
py-record-full.h
py-record.c gdb/python: break dependencies between gdbpy_initialize_* functions 2022-10-20 16:49:53 +01:00
py-record.h
py-ref.h
py-registers.c Fix crash in gdbpy_parse_register_id 2022-08-21 08:03:42 -06:00
py-signalevent.c
py-stopevent.c
py-stopevent.h
py-symbol.c Change GDB to use frame_info_ptr 2022-10-10 11:57:10 +02:00
py-symtab.c Rewrite registry.h 2022-07-28 14:16:50 -06:00
py-threadevent.c
py-tui.c
py-type.c gdb: remove TYPE_LENGTH 2022-09-21 11:05:21 -04:00
py-unwind.c Change GDB to use frame_info_ptr 2022-10-10 11:57:10 +02: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 gdb: remove TYPE_LENGTH 2022-09-21 11:05:21 -04:00
py-varobj.c Expose current 'print' settings to Python 2022-07-15 09:25:33 -06:00
py-xmethods.c
python-config.py gdb/python-config: replace deprecated distutils.sysconfig 2022-09-01 04:51:33 -04:00
python-internal.h gdb/python: break more dependencies between gdbpy_initialize_* functions 2022-10-20 16:49:53 +01:00
python.c gdb, python: use gdbarch_iterate_over_objfiles_in_search_order 2022-10-18 14:16:09 +02:00
python.h gdb, python: use gdbarch_iterate_over_objfiles_in_search_order 2022-10-18 14:16:09 +02:00