int gdbpy_initialize_symtabs (void) { symtab_object_type.tp_new = PyType_GenericNew; if (PyType_Ready (&symtab_object_type) < 0) return -1; sal_object_type.tp_new = PyType_GenericNew; if (PyType_Ready (&sal_object_type) < 0) return -1; /* Register an objfile "free" callback so we can properly invalidate symbol tables, and symbol table and line data structures when an object file that is about to be deleted. */ stpy_objfile_data_key = register_objfile_data_with_cleanup (NULL, del_objfile_symtab); salpy_objfile_data_key = register_objfile_data_with_cleanup (NULL, del_objfile_sal); if (gdb_pymodule_addobject (gdb_module, "Symtab", (PyObject *) &symtab_object_type) < 0) return -1; return gdb_pymodule_addobject (gdb_module, "Symtab_and_line", (PyObject *) &sal_object_type); }
int gdbpy_initialize_py_events (void) { #ifdef IS_PY3K gdb_py_events.module = PyModule_Create (&EventModuleDef); #else gdb_py_events.module = Py_InitModule ("events", NULL); #endif if (!gdb_py_events.module) return -1; #define GDB_PY_DEFINE_EVENT(name) \ if (add_new_registry (&gdb_py_events.name, #name) < 0) \ return -1; #include "py-all-events.def" #undef GDB_PY_DEFINE_EVENT if (gdb_pymodule_addobject (gdb_module, "events", (PyObject *) gdb_py_events.module) < 0) return -1; return 0; }
int gdbpy_initialize_eventregistry (void) { if (PyType_Ready (&eventregistry_object_type) < 0) return -1; return gdb_pymodule_addobject (gdb_module, "EventRegistry", (PyObject *) &eventregistry_object_type); }
int gdbpy_initialize_event_generic (PyTypeObject *type, char *name) { if (PyType_Ready (type) < 0) return -1; return gdb_pymodule_addobject (gdb_module, name, (PyObject *) type); }
int gdbpy_initialize_functions (void) { fnpy_object_type.tp_new = PyType_GenericNew; if (PyType_Ready (&fnpy_object_type) < 0) return -1; return gdb_pymodule_addobject (gdb_module, "Function", (PyObject *) &fnpy_object_type); }
int gdbpy_initialize_objfile (void) { objfpy_objfile_data_key = register_objfile_data_with_cleanup (NULL, py_free_objfile); if (PyType_Ready (&objfile_object_type) < 0) return -1; return gdb_pymodule_addobject (gdb_module, "Objfile", (PyObject *) &objfile_object_type); }
static int CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION add_new_registry (eventregistry_object **registryp, const char *name) { *registryp = create_eventregistry_object (); if (*registryp == NULL) return -1; return gdb_pymodule_addobject (gdb_py_events.module, name, (PyObject *)(*registryp)); }
int gdbpy_initialize_pspace (void) { pspy_pspace_data_key = register_program_space_data_with_cleanup (NULL, py_free_pspace); if (PyType_Ready (&pspace_object_type) < 0) return -1; return gdb_pymodule_addobject (gdb_module, "Progspace", (PyObject *) &pspace_object_type); }
int gdbpy_initialize_py_events (void) { #ifdef IS_PY3K gdb_py_events.module = PyModule_Create (&EventModuleDef); #else gdb_py_events.module = Py_InitModule ("events", NULL); #endif if (!gdb_py_events.module) return -1; if (add_new_registry (&gdb_py_events.stop, "stop") < 0) return -1; if (add_new_registry (&gdb_py_events.cont, "cont") < 0) return -1; if (add_new_registry (&gdb_py_events.exited, "exited") < 0) return -1; if (add_new_registry (&gdb_py_events.inferior_call, "inferior_call") < 0) return -1; if (add_new_registry (&gdb_py_events.memory_changed, "memory_changed") < 0) return -1; if (add_new_registry (&gdb_py_events.register_changed, "register_changed") < 0) return -1; if (add_new_registry (&gdb_py_events.new_objfile, "new_objfile") < 0) return -1; if (add_new_registry (&gdb_py_events.clear_objfiles, "clear_objfiles") < 0) return -1; if (gdb_pymodule_addobject (gdb_module, "events", (PyObject *) gdb_py_events.module) < 0) return -1; return 0; }