binutils-gdb/gdb/python
Sasha Smundak d11916aa89 Add support for writing unwinders in Python.
gdb/ChangeLog:

	* Makefile.in (SUBDIR_PYTHON_OBJS): Add py-unwind.o.
	(SUBDIR_PYTHON_SRCS): Add py-unwind.c.
	(py-unwind.o): New recipe.
	* NEWS: mention Python frame unwinding.
	* data-directory/Makefile.in (PYTHON_FILE_LIST): Add
	gdb/unwinder.py and gdb/command/unwinder.py
	* python/lib/gdb/__init__.py (packages): Add frame_unwinders
	list.
	(execute_unwinders): New function.
	* python/lib/gdb/command/unwinders.py: New file.
	* python/lib/gdb/unwinder.py: New file.
	* python/py-objfile.c (objfile_object): Add frame_unwinders field.
	(objfpy_dealloc): Decrement frame_unwinders reference count.
	(objfpy_initialize): Create frame_unwinders list.
	(objfpy_get_frame_unwinders): New function.
	(objfpy_set_frame_unwinders): Ditto.
	(objfile_getset): Add frame_unwinders attribute to Objfile.
	* python/py-progspace.c (pspace_object): Add frame_unwinders field.
	(pspy_dealloc): Decrement frame_unwinders reference count.
	(pspy_initialize): Create frame_unwinders list.
	(pspy_get_frame_unwinders): New function.
	(pspy_set_frame_unwinders): Ditto.
	(pspy_getset): Add frame_unwinders attribute to gdb.Progspace.
	* python/py-unwind.c: New file.
	* python/python-internal.h (pspy_get_name_unwinders): New prototype.
	(objpy_get_frame_unwinders): New prototype.
	(gdbpy_initialize_unwind): New prototype.
	* python/python.c (gdbpy_apply_type_printers): Call
	gdbpy_initialize_unwind.

gdb/doc/ChangeLog:

	* doc/python.texi (Writing a Frame Unwinder in Python): Add
	section.

gdb/testsuite/ChangeLog:

	* gdb.python/py-unwind-maint.c: New file.
	* gdb.python/py-unwind-maint.exp: New test.
	* gdb.python/py-unwind-maint.py: New file.
	* gdb.python/py-unwind.c: New file.
	* gdb.python/py-unwind.exp: New test.
	* gdb.python/py-unwind.py: New test.
2015-04-01 11:49:12 -07:00
..
lib/gdb Add support for writing unwinders in Python. 2015-04-01 11:49:12 -07:00
py-arch.c Split TRY_CATCH into TRY + CATCH 2015-03-07 15:14:14 +00:00
py-auto-load.c
py-block.c Split TRY_CATCH into TRY + CATCH 2015-03-07 15:14:14 +00:00
py-bpevent.c
py-breakpoint.c more making TRY/CATCH callers look more like real C++ try/catch blocks 2015-03-07 15:19:57 +00:00
py-cmd.c Split TRY_CATCH into TRY + CATCH 2015-03-07 15:14:14 +00:00
py-continueevent.c
py-event.c
py-event.h
py-events.h
py-evtregistry.c
py-evts.c
py-exitedevent.c
py-finishbreakpoint.c Split TRY_CATCH into TRY + CATCH 2015-03-07 15:14:14 +00:00
py-frame.c Split TRY_CATCH into TRY + CATCH 2015-03-07 15:14:14 +00:00
py-framefilter.c Split TRY_CATCH into TRY + CATCH 2015-03-07 15:14:14 +00:00
py-function.c
py-gdb-readline.c Split TRY_CATCH into TRY + CATCH 2015-03-07 15:14:14 +00:00
py-inferior.c Split TRY_CATCH into TRY + CATCH 2015-03-07 15:14:14 +00:00
py-infevents.c
py-infthread.c Split TRY_CATCH into TRY + CATCH 2015-03-07 15:14:14 +00:00
py-lazy-string.c Split TRY_CATCH into TRY + CATCH 2015-03-07 15:14:14 +00:00
py-linetable.c Split TRY_CATCH into TRY + CATCH 2015-03-07 15:14:14 +00:00
py-newobjfileevent.c
py-objfile.c Add support for writing unwinders in Python. 2015-04-01 11:49:12 -07:00
py-param.c Split TRY_CATCH into TRY + CATCH 2015-03-07 15:14:14 +00:00
py-prettyprint.c Split TRY_CATCH into TRY + CATCH 2015-03-07 15:14:14 +00:00
py-progspace.c Add support for writing unwinders in Python. 2015-04-01 11:49:12 -07:00
py-signalevent.c
py-stopevent.c
py-stopevent.h
py-symbol.c Split TRY_CATCH into TRY + CATCH 2015-03-07 15:14:14 +00:00
py-symtab.c
py-threadevent.c
py-type.c Split TRY_CATCH into TRY + CATCH 2015-03-07 15:14:14 +00:00
py-unwind.c Add support for writing unwinders in Python. 2015-04-01 11:49:12 -07:00
py-utils.c Split TRY_CATCH into TRY + CATCH 2015-03-07 15:14:14 +00:00
py-value.c Split TRY_CATCH into TRY + CATCH 2015-03-07 15:14:14 +00:00
py-varobj.c
py-xmethods.c
python-config.py
python-internal.h Add support for writing unwinders in Python. 2015-04-01 11:49:12 -07:00
python.c Add support for writing unwinders in Python. 2015-04-01 11:49:12 -07:00
python.h